Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để chuyển đổi một chuỗi csv Python thành mảng?

Cách dễ nhất là sử dụng phương thức str.split để phân chia trên mỗi lần xuất hiện của ',' và ánh xạ mọi chuỗi với phương thức dải để loại bỏ bất kỳ khoảng trắng nào ở đầu / cuối. Ví dụ,

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

Nếu bạn có một chuỗi nhiều dòng với nhiều dòng csv, bạn có thể tách trên \ n rồi tách và tách từng 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']]

Mô-đun csv trong Python cũng có chức năng trợ giúp, trình đọc để đạt được kết quả tương tự. 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']]