带有逗号周围空格的CSV

5 python csv

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

'1','2','3',   '4'
'5','6','7',   '8'
Run Code Online (Sandbox Code Playgroud)

如果我使用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'"]
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ers 10

设置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']
Run Code Online (Sandbox Code Playgroud)