2011-07-05 53 views
9

Dưới đây tôi có một chuỗi đại diện cho một hàng được lấy từ tệp csv. Mỗi cột được phân tách bằng dấu phẩy và giá trị được bao trong "". Cách đơn giản nhất để phân tích giá trị từ mỗi cột trong python là gì?phân tích cú pháp tệp csv được phân tách bằng dấu phẩy có dấu ngoặc kép trong python

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

Số liệu trên là tất cả một chuỗi lớn mà cần phải được chia thành các cột vì vậy tôi có thể nhận được các giá trị. Tôi không hỏi làm thế nào để tải một tập tin csv. Đã có một phần đã tìm ra.

+9

Sử dụng 'csv'. Thật vậy, trước khi sử dụng 'csv' hãy thử tìm kiếm Stack Overflow cho các câu hỏi tương tự về phân tích cú pháp CSV vì tất cả các câu hỏi đó đều có các ví dụ mã đã được viết. –

+2

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

Trả lời

16

Python có một mô-đun cho rằng:

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

Điều này giúp ích, nhưng làm cách nào để nhận được giá trị từ một cột cụ thể? – Sam

+0

@Sam: Mỗi hàng là một danh sách có một mục nhập cho mỗi cột. –

+1

@Sam: cách khác, mô-đun csv có lớp DictReader sẽ đọc dữ liệu vào Dict –

Các vấn đề liên quan