免责声明:我有大约3个月的编程经验......对于任何愚蠢的问题,请提前道歉。
我有一个9GB的CSV文件,我试图使用Python 2.7清理
我需要移除/替换/剥离你想要调用它的所有内容...." \"分散在整个数据中。
这是我到目前为止所提出的:
#Python 2.7
csvfileIn = open("dataexample.csv", "r")
csvOut = open("dataexample2.csv", "w")
for i, row in enumerate(csvfileIn.readline()):
row = row.replace("\"", "")
csvOut.write(row)
csvOut.close()
这不会像我希望的那样遍历CSV文件。 我得到了使用readline()而不是readlines()的建议,因为文件太大了。
我会附上示例数据文件,但我没有足够的街头信誉来附加文件。我想我发布的最后一个问题是愚蠢的,所以我失去了一些代表点。 screenshot of example data
感谢您的帮助!
更新/修正代码
#Python 2.7
csvfileIn = open("dataexample.csv", "r")
csvOut = open("dataexample2.csv", "w")
for i, row in enumerate(csvfileIn):
row = row.replace("\\", "")
csvOut.write(row)
csvOut.close()
csvfileIn.close()
答案 0 :(得分:4)
1)
替换row = row.replace("\"", "")
与row = row.replace("\\", "")
你应该逃避反斜杠
2)根据评论Rawing的建议,将enumerate(csvfileIn.readline())
替换为enumerate(csvfileIn)
或者,如果您的代码中从未使用i
,则只需按for row in csvfileIn:
最后,不要忘记关闭csvfileIn
答案 1 :(得分:2)
使用双反斜杠
row.replace("\\", "")
\\
双反斜杠表示字符串
char之前的单反斜杠表示特殊字符ex:\ n - 新行