在Python中将数组转换为CSV/tsv格式的字符串

2024-06-01 08:04:58 发布

您现在位置:Python中文网/ 问答频道 /正文

Python提供了csv.DictWriter,用于将CSV输出到文件。 将CSV输出到字符串或stdout的最简单方法是什么?在

例如,给定这样的二维数组:

[["a b c", "1,2,3"],
 ["i \"comma-heart\" you", "i \",heart\" u, too"]]

返回以下字符串:

^{pr2}$

打印时会是这样的:

a b c, "1,2,3"
"i ""heart"" you", "i "",heart"" u, too"

(我要csv.DictWriter这实际上是将数组输出为CSV的标准方式。虽然Mathematica没有,但Excel确实是这样正确地解析它。快速看一下wikipedia page on CSV似乎Mathematica是错的。)

一种方法是用csv.DictWriter然后用csv.DictReader. 有什么更好的方法?在

TSV代替CSV

我也意识到我并不是和CSV结婚的。 TSV会让很多令人头疼的分隔符和引号消失: 只需在2D数组的条目中用空格替换制表符,然后分散制表符和换行符,就完成了。 让我们在答案中包括TSV和CSV的解决方案,以使其对未来的搜索者尽可能有用。在


Tags: 文件csv方法字符串youtsvstdout数组
1条回答
网友
1楼 · 发布于 2024-06-01 08:04:58

我们用StringIO来做这个

myFakeFile = StringIO.StringIO()
wtr = csv.DictWriter( myFakeFile, headings )
...
myFakeFile.getvalue()

通常有效。在

相关问题 更多 >