Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuyển Python csv string thành array

Cách dễ nhất: dùng str.split split trên mọi ',' và map mọi string đến strip method loại bỏ leading/trailing whitespace. Ví dụ:

>>> s = "1, John Doe, Boston, USA"
>>> print map(str.strip, s.split(','))
['1', 'John Doe', 'Boston', 'USA']

Nếu multi-line string nhiều dòng csv, split trên \n rồi split và strip mỗi dòng. Ví dụ:

>>> s = "1, John Doe, Boston, USA\n2, Jane Doe, Chicago, USA"
>>> print [map(str.strip, s_inner.split(',')) for s_inner in s.splitlines()]
[['1', 'John Doe', 'Boston', 'USA'], ['2', 'Jane Doe', 'Chicago', 'USA']]

Module csv trong Python cũng có helper function reader cho cùng kết quả. Ví dụ:

>>> s = "1, John Doe, Boston, USA\n2, Jane Doe, Chicago, USA".splitlines()
>>> import csv
>>> x = csv.reader(s)
>>> list(x)
[['1', ' John Doe', ' Boston', ' USA'], ['2', ' Jane Doe', ' Chicago', ' USA']]