2008-12-01 20 views
16

Jeśli chcę podzielić listę słów oddzielonych znakiem ogranicznika, mogę używaćJak szybko analizować listę ciągów

>>> 'abc,foo,bar'.split(',') 
['abc', 'foo', 'bar'] 

Ale jak łatwo i szybko zrobić to samo, jeśli ja też chcę do obsługi cytowanych ciągów znaków, które mogą zawierać znak ogranicznika?

In: 'abc,"a string, with a comma","another, one"' 
Out: ['abc', 'a string, with a comma', 'another, one'] 

Powiązane pytanie: How can i parse a comma delimited string into a list (caveat)?

Odpowiedz

36
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) 

Wynik:

 
0 abc 
1 a string, with a comma 
2 another, one 
+0

ładny. Inteligentne wykorzystanie modułu :-) –

Powiązane problemy