有人知道一个简单的库或函数来解析csv编码的字符串并将其转换为数组或字典吗?
我不认为我想要内置的csv模块,因为在所有示例中,我看到的都是文件路径,而不是字符串。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您可以使用将字符串转换为文件对象io.StringIO,然后将其传递给csv模块:
from io import StringIO import 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首选使用module。
在Python 2上,您必须导入StringIO为
from StringIO import StringIO 代替。
问题来源于stack overflow