考虑下面的2×2阵列:导入和导出CSV为在数学两个破
x = {{"a b c", "1,2,3"}, {"i \"comma-heart\" you", "i \",heart\" u, too"}}
如果我们导出为CSV格式,然后再导入一遍,我们没有得到同样的东西回来:
Import[Export["tmp.csv", d]]
看看tmp.csv很明显,导出不起作用,因为引号没有正确转义。
根据我假定正确地总结了Wikipedia's entry on CSV的RFC,以正确的方式导出上述阵列如下:
a b c, "1,2,3"
"i ""heart"" you", "i "",heart"" u, too"
导入上面没有任何产生原始阵列。 因此导入也被打破。
我已将这些错误报告给[email protected],但我想知道其他人是否在此期间有解决方法。
一种解决方法是使用TSV而不是CSV。 我用TSV测试了上述内容,它似乎可以工作(即使标签嵌入到数组中)。
如果这样会使你感到不安,请尝试导入[Export [“string.csv”,x,“CSV”]],这可能会毁了你的一天。抱歉。 – 2010-05-04 22:17:24
@高性能标记:我尝试过,但使用明确的“CSV”参数时没有看到差异。你什么意思? – dreeves 2010-05-05 01:06:03
Wolfram的回复:感谢您花时间向我们发送此报告。我已将您的示例转发给我们的开发小组。 此问题的推荐解决方案是使用不同的 格式。 对于由此问题引起的任何不便,我们深表歉意。 我收录了您的联系信息,以便在解决此问题时通知您 。 – dreeves 2010-05-05 21:18:45