7

假设我有一个逗号周围有空格的 CSV 文件:

'1','2','3',   '4'
'5','6','7',   '8'

如果我使用 Python CSV 包,则48值的处理方式不同:

>>> with open('/tmp/nums.csv','rU') as fin:
...    for row in csv.reader(fin,quotechar="'"):
...       print row
... 
['1', '2', '3', "   '4'"]
['5', '6', '7', "   '8'"]

有没有办法使用 CSV 模块解决这个问题?我知道我可以自己读取和解析文件,但如果 CSV 包中有方言设置来解决这个问题,我很感兴趣。

4

1 回答 1

13

设置skipinitialspaceTrue跳过分隔符后的任何空格:

当 时True,紧跟在分隔符后面的空格将被忽略。默认值为False.

演示:

>>> import csv
>>> demo='''\
... '1','2','3',   '4'
... '5','6','7',   '8'
... '''
>>> for row in csv.reader(demo.splitlines(True), skipinitialspace=True, quotechar="'"):
...     print row
... 
['1', '2', '3', '4']
['5', '6', '7', '8']
于 2013-06-22T22:12:03.547 回答