带有逗号周围空格的CSV

时间:2013-06-22 22:08:35

标签: python csv

假设我有一个逗号周围有空格的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包中有方言设置来解决这个问题。

1 个答案:

答案 0 :(得分:10)

设置skipinitialspace to True以跳过分隔符后的任何空格:

  

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']