Как быстро разобрать список строк - PullRequest
16 голосов
/ 01 декабря 2008

Если я хочу разделить список слов, разделенных символом разделителя, я могу использовать

>>> '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']

Смежный вопрос: Как я могу разобрать строку с запятой в списке (предостережение)?

Ответы [ 2 ]

37 голосов
/ 01 декабря 2008
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
7 голосов
/ 01 декабря 2008

Модуль CSV должен сделать это за вас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...