Python CSV模块,特殊拆分字符串

时间:2017-08-17 08:18:48

标签: python string csv

我有一个独特的问题。 我有代码:

with open("test.csv", "r") as csvFile:
reader = csv.reader(csvFile, skipinitialspace=True)
for row in reader:
    for obj in row:
        print(obj)

和示例性csv文件:

anotherCommand, e=5, f=6, g=7, h=9, test="aaa, bbb, ggggg"

我希望以这种方式拆分此字符串:

anotherCommand
e=5
f=6
g=7
h=9
test="aaa, bbb, ggggg"

但我呈现的代码,以这种方式分割这些字符串:

anotherCommand
e=5
f=6
g=7
h=9
test="aaa
bbb
ggggg"

这是解决这个问题的错误方法。 我看到的话题如下: Why is the Python CSV reader ignoring double-quoted fields? 要么 How can i parse a comma delimited string into a list (caveat)?

但是这个例子是不同的,这些例子不符合我的期望。 有人有想法吗?

1 个答案:

答案 0 :(得分:1)

你可以在这里使用shlex.split

import shlex

with open('test.csv') as fin:
    for line in fin:
        row = [col.rstrip(',') for col in shlex.split(line)]
        print(*row, sep='\n')