Я нашел некоторые решения, но результаты, которые я получаю, не соответствуют ожидаемым.
Я хочу взять строку и разделить ее запятыми, кроме случаев, когда запятыесодержится в двойных кавычках.Я хотел бы игнорировать пробелы.Я могу жить с потерей двойных кавычек в процессе, но это не обязательно.
Является ли 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.