Python CSV:字段开头包含引号
我正在尝试读取一个CSV文件,其中有一行内容如下:
test,"test,"test,test,test,test
这里有个问题,关于引号(文件里有六个字段,但读取出来却只有五个字段,因为"test,"这个部分被当作一个字段来处理了)。
我尝试过修改这个条目,像下面这样,但我仍然无法正确读取引号:
test,""test,""test,test,test,test # quotation marks disappear when the entry is read.
test,\"test,\"test,test,test,test # backslashes are also retrieved; escaping doesn't seem to work.
我读取CSV文件的方式是这样的:
info_source = csv.reader(open('.info.csv'), skipinitialspace=True)
for row in ling_info_source:
data = row[1].strip()
...
2 个回答
3
你可以在调用 reader()
时,添加一个参数 quoting=csv.QUOTE_NONE
。
3
默认情况下,"
是 Python 的 csv
模块中的 引用字符。如果你想关闭这个默认设置,可以使用
csv.reader(open('.info.csv'), skipinitialspace=True, quotechar=None)
。你给出的例子会导致记录变成
['test', '"test', '"test', 'test', 'test', 'test']