2008-12-01 10 views
16

, bençabuk bir ayraç karakteri ile ayrılırlar kelimelerin bir listesini bölmek istiyorsanız

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

kullanabilirsiniz dizeleri listesini ayrıştırmak nasıl Ama aynı zamanda istediğinizde kolayca ve hızlı bir şekilde aynı şeyi yapmak için nasıl sınırlayıcı karakteri içerebilen alıntı dizeleri işlemek için?

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

İlgili soru: How can i parse a comma delimited string into a list (caveat)?

cevap

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) 

Sonucu için bunu mümkün olmalıdır:

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

Güzel bir. Modülün akıllı kullanımı :-) –

İlgili konular