开发者社区 问答 正文

Python CSV字符串到数组

有人知道一个简单的库或函数来解析csv编码的字符串并将其转换为数组或字典吗?

我不认为我想要内置的csv模块,因为在所有示例中,我看到的都是文件路径,而不是字符串。

展开
收起
保持可爱mmm 2020-02-06 22:55:00 560 分享 版权
1 条回答
写回答
取消 提交回答
  • 您可以使用将字符串转换为文件对象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

    2020-02-06 22:55:17
    赞同 展开评论