2008-12-01 11 views
16

मैं एक परिसीमक चरित्र के द्वारा अलग शब्दों की एक सूची को विभाजित करना चाहते हैं, तो मैंकैसे जल्दी से

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

संबंधित प्रश्न: How can i parse a comma delimited string into a list (caveat)?

उत्तर

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) 

परिणाम सक्षम होना चाहिए:

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

अच्छा एक। मॉड्यूल का स्मार्ट उपयोग :-) –

संबंधित मुद्दे