我正在使用此网站的收入数据:
https://nces.ed.gov/programs/digest/d17/tables/dt17_502.30.asp
这是相当混乱的,关于工作的任务是删除像这样的文本:
' High school completion\\1\\ ....................................;32,610;;(360);34,840;;(275);34,200;;(943);33,480;;(16);32,970;;(18);32,010;;(#);31,320;;(16);30,900;;(2);30,410;;(4);30,930;;(968);31,830;;(143);\n'
但是保留分号,因为稍后我将使用它来分隔字段。
我要解决的问题是:
1)将替换为“0”,因为它用于缺少的值。
row=row.replace(“”,“0”)
2)创建一个dict,将所有puntuacion映射为none或empty,分号除外。
translation = dict((c,"") if c != ";" else (c,";") for c in string.punctuation )
3)翻译
这是步骤不起作用:
row.translate(translation)
重新运行完全相同的输出:
' High school completion\\1\\ ....................................;32,610;;(360);34,840;;(275);34,200;;(943);33,480;;(16);32,970;;(18);32,010;;(0);31,320;;(16);30,900;;(2);30,410;;(4);30,930;;(968);31,830;;(143);\n'