【发布时间】:2014-04-29 02:10:47
【问题描述】:
这个问题有一个答案:
Getting "newline inside string" while reading the csv file in Python?
但是当我使用接受的答案时,这不起作用。
【问题讨论】:
-
您是否尝试过其他答案?出于多种原因,接受的答案实际上是完全错误的。
这个问题有一个答案:
Getting "newline inside string" while reading the csv file in Python?
但是当我使用接受的答案时,这不起作用。
【问题讨论】:
如果上述链接中的答案不起作用,并且您在执行代码期间打开了多个文件,请返回并确保在完成后关闭所有以前的文件。
我有一个脚本可以打开并处理多个文件。然后在最后,它以与 Amit Pal 看到的相同的方式不断抛出 _csv.Error。
我的代码运行大约 500 行,分为三个阶段,依次处理多个文件。这是给出错误的代码部分。如您所见,代码很普通:
f = open('file.csv')
fread = csv.reader(f)
for row in fread:
do something
错误是:
对于 fread 中的行:
_csv.Error: 字符串中的换行符
所以我告诉脚本打印行的内容....好吧,这不清楚,这就是我所做的:
print row
f = open('file.csv')
fread = csv.reader(f)
for row in fread:
do something
有趣的是,打印的是我之前打开和处理过的文件中的最后一行。
真正奇怪的是我使用了不同的变量名,但显然数据被卡在某个缓冲区或内存中。
所以我回去确保我关闭了所有以前打开的文件,这解决了我的问题。
希望这对某人有所帮助。
【讨论】:
f(使用Python 2时)或设置newline=''(使用Python 3时)。
row 无关。