2011-07-05 251 views
9

下面我有一个字符串,代表从csv文件中拉出的一行。每列用逗号分隔,并将值包裹在“”中。解析python中每列的值的最简单方法是什么?在python中用逗号分隔逗号分隔的csv文件

"Mr","Bob","","Boberton","","President","","","","Blah, Inc. of Iowa","blah blah blah","","Grand Island","Hall County","NE","68801","7228","United States","308-111-1111","","","P.O. BOX 1111","","Grand Island","Hall County","NE","11111","1111","United States","","40.00000","-98.0000","Gasoline service stations","11111","1010101010","","","false","SINGLE_LOCATION","","","","","","","","","No","No","No","Owns","No","No","","","55.125905","","0.052369","","100","","100","0","","","1971","Low Risk","Convenience Stores & Truck Stops","1111111","1111111","111111","1111111" 

上面的数据都是一个大的字符串,需要拆分成列,所以我可以得到值。我不问如何加载一个csv文件。已经找到了这一部分。

+9

使用'csv'。事实上,在使用'csv'之前,尝试在Stack Overflow上解析CSV解析类似的问题,因为所有这些问题都有已经编写的代码示例。 –

+2

http://docs.python.org/library/csv.html –

回答

16

Python有一个模块:

http://docs.python.org/library/csv.html

import csv, sys 
filename = 'some.csv' 
with open(filename, 'rb') as f: 
    reader = csv.reader(f) 
    try: 
     for row in reader: 
      print row 
    except csv.Error, e: 
     sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e)) 
+0

这有帮助,但是如何从特定列中获取值? – Sam

+0

@Sam:每行是一个列,每列有一个条目。 –

+1

@Sam:或者,csv模块有一个DictReader类,它将数据读入Dict –