参见英文答案 >
Python New Line confusion in a CSV file 2个
我得到的印象是这是一个常见的问题,我在字段中有一个带换行符的csv文件.我正在寻找Python中的修复 – 如果可能的话,在csv模块中.
这是我创建的示例文件
$more test_csv.csv
a,"b",c,d,"e
e
e",f
a,bb,c,d,ee ,"f
f"
a,b,"c
c",d,e,f
并非所有字段都将用引号括起来(虽然在本例中我的用法是随机的,但实际文件应与quoting = csv.QUOTE_MINIMAL匹配)
输出应该类似
[[a,b,c,d,"e\ne\ne",f],[a,bb,c,d,ee,"f\nf"][a,b,"c\nc",d,e,f]]
相反,我得到了
[[['a', 'b', 'c', 'd', 'e\n']], [['e']], [['e"', 'f']], [['a', 'bb', 'c', 'd', 'ee ', 'f\n']], [['f"']], [['a', 'b', 'c\n']], [['c"', 'd', 'e', 'f']]]
请关注行数和列数.另一个问题是,在第三行中,如果不应该包含引号.
到目前为止,这是我的代码:
导入csv
file = open('test_csv.csv', 'r')
rows = []
for line in file:
fields = []
mycsv = csv.reader([line], dialect='excel', \
quotechar='"', quoting=csv.QUOTE_MINIMAL)
for field in mycsv:
fields.append(field)
rows.append(fields)
谢谢.