Python csv字符串到数组有人知道一个简单的库或函数来解析csv编码的字符串并将其转换为数组或字典吗?我不认为我想要内置的csv模块,因为在我看到的所有示例中都采用了文件路径,而不是字符串。
3 回答
三国纷争
TA贡献1804条经验 获得超7个赞
我会用StringIO:
try:
# for Python 2.x
from StringIO import StringIOexcept ImportError:
# for Python 3.x
from io import StringIOimport csv
scsv = """text,with,Polish,non-Latin,letters
1,2,3,4,5,6
a,b,c,d,e,f
gęś,zółty,wąż,idzie,wąską,dróżką,
"""f = StringIO(scsv)reader = csv.reader(f, delimiter=',')for row in reader:
print('\t'.join(row))更新版本更简单split():
reader = csv.reader(scsv.split('\n'), delimiter=',')for row in reader:
print('\t'.join(row))或者你可以简单地将split()这个字符串\n用作分隔符,然后将split()每行作为值,但这样你必须知道引用,所以csv首选使用模块。
明月笑刀无情
TA贡献1828条经验 获得超4个赞
简单 - csv模块也适用于列表:
>>> a=["1,2,3","4,5,6"] # or a = "1,2,3\n4,5,6".split('\n')
>>> import csv
>>> x = csv.reader(a)
>>> list(x)
[['1', '2', '3'], ['4', '5', '6']]
添加回答
举报
0/150
提交
取消
