将表导出为CSV,逗号不是换行符

Tim*_*Tim 6 wolfram-mathematica

我有一个功能f[a].我运行它Table来生成一个巨大的值列表,以便以后在C程序中用作查找表.我想将其导出为CSV,这样我就可以将其复制/粘贴到我的代码编辑器中并快速将其转换为C数组(我只需要将它包装成花括号并给它起一个名字):

Export["myfile.csv", Table[ f[a], {a, 0, 6} ], "CSV" ];
Run Code Online (Sandbox Code Playgroud)

我想要的是这个:

0, 1, 2, 3, 4, 5, 6
Run Code Online (Sandbox Code Playgroud)

等等,但我最终得到了这个:

0
1
2
3
4
5
6
Run Code Online (Sandbox Code Playgroud)

每个条目都在一个新行上.我错过了什么简单明了的事情?

谢谢!

Sim*_*mon 12

您可以使用更通用的"表格"格式导出并指定行分隔符.例如:

Export["myfile.csv", Table[f[a], {a, 0, 6}], "Table", "LineSeparators" -> ", "]

FilePrint["myfile.csv"]
(* Returns: 
f[0], f[1], f[2], f[3], f[4], f[5], f[6]
*)
Run Code Online (Sandbox Code Playgroud)

您可能还需要指定"FieldSeparators"选项,它的"Table"格式是默认选项"\t".


Mr.*_*ard 6

如果导出对象是单个列表,则可以避免修改其元素,并将其包装在List:

Export["myfile.csv", List @ Table[f[a], {a, 0, 6}]]
Run Code Online (Sandbox Code Playgroud)

  • @Tim Tables是2D结构.在CSV中,行分隔符是新行,而列分隔符是逗号.事实上,这个可以被称为规范解决方案. (2认同)