Как быстро разобрать список строк
Если я хочу разбить список слов, разделенных символом разделителя, я могу использовать
>>> 'abc,foo,bar'.split(',')
['abc', 'foo', 'bar']
Но как легко и быстро сделать то же самое, если я также хочу обрабатывать кавычки, которые могут содержать символ разделителя?
In: 'abc,"a string, with a comma","another, one"'
Out: ['abc', 'a string, with a comma', 'another, one']
Связанный вопрос: Как я могу разобрать строку с разделителями-запятыми в список (оговорка)?
Ответы
Ответ 1
import csv
input = ['abc,"a string, with a comma","another, one"']
parser = csv.reader(input)
for fields in parser:
for i,f in enumerate(fields):
print i,f # in Python 3 and up, print is a function; use: print(i,f)
Результат:
0 abc
1 a string, with a comma
2 another, one
Ответ 2
CSV-модуль должен быть в состоянии сделать это для вас