2011-07-05 15 views
9

Poniżej znajduje się ciąg znaków reprezentujący pojedynczy wiersz pobrany z pliku CSV. Każda kolumna jest oddzielona przecinkiem, a wartość jest zawijana w "". Jaki jest najprostszy sposób przeanalizowania wartości z każdej kolumny w pythonie?przeanalizuj plik CSV oddzielony przecinkami z cytatami w pythonie

"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" 

Powyższe dane to jeden duży ciąg, który należy podzielić na kolumny, aby uzyskać wartości. Nie pytam, jak załadować plik CSV. Już ta część została wymyślona.

+9

Wykorzystanie 'csv'. Rzeczywiście, przed użyciem 'csv' spróbuj przeszukać Stack Overflow dla podobnych pytań dotyczących parsowania CSV, ponieważ wszystkie te pytania mają już napisane przykłady kodu. –

+2

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

Odpowiedz

16

Python ma moduł na to:

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

To pomaga, ale jak uzyskać wartość z konkretnej kolumny? – Sam

+0

@Sam: Każdy wiersz jest listą z jednym wpisem w kolumnie. –

+1

@Sam: alternatywnie, moduł csv ma ​​klasę DictReader, która odczyta dane do pliku Dict –

Powiązane problemy