假设我有一个逗号周围有空格的CSV文件:
'1','2','3', '4'
'5','6','7', '8'
如果我使用Python CSV包,4
和8
值的处理方式不同:
>>> 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包中有方言设置来解决这个问题。
答案 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']