【发布时间】:2019-03-28 11:21:12
【问题描述】:
我找到了一些解决方案,但得到的结果与我的预期不符。
我想获取一个字符串,并以逗号分隔它,除非逗号包含在双引号中。我想忽略空格。我可以忍受在此过程中丢失双引号,但这不是必需的。
csv 是最好的方法吗?正则表达式解决方案会更好吗?
#!/usr/local/bin/python2.7
import csv
s = 'abc,def, ghi, "jkl, mno, pqr","stu"'
result = csv.reader(s, delimiter=',', quotechar='"')
for r in result:
print r
# Should display:
# abc
# def
# ghi
# jkl, mno, pqr
# stu
#
# But I get:
# ['a']
# ['b']
# ['c']
# ['', '']
# ['d']
# ['e']
# ['f']
# ['', '']
# [' ']
# ['g']
# ['h']
# ['i']
# ['', '']
# [' ']
# ['jkl, mno, pqr']
# ['', '']
# ['stu']
print r[1] # Should be "def" but I get and "list index out of range" error.
【问题讨论】: