如何将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']]