如何将Python csv字符串转换为数组?

最简单的方法是使用str.split方法对每次出现的'进行拆分,并将每个字符串映射到strip方法以删除任何前导/后缀空格。例如,

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

如果您有包含多行csv的多行字符串,则可以在\ n上分割,然后分割并剥离每行。例如,

>>> 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']]

Python中的csv模块还具有一个辅助功能,阅读器可实现相同的结果。例如,

>>> 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']]