我有一个制表符分隔的文本文件(基本上是 CSV),每个值都用双引号 (") 括起来并用制表符分隔。
大多数值是字符串,可以包含制表符、简单引号 (')、双引号 (") 和逗号,或者任何字符,真的。
我想使用 Excel 中的“数据/来自文本或 CSV”按钮将其导入 Excel,但在某些情况下出现解析问题。特别是当一个值以双引号结束时。(例如:..."value1""tab"value2"... 将以下文本放在一个单元格中:value1"value2")
我得到了一个Java例程,它可以正确解析 .txt 并将每一行分成一个列表(不是选项卡,因为每行可以有不同数量的值)。如果相关,我可以访问此代码。
我的问题是:如何输出将正常解析的 toBePutInExcel.txt 文件,将 List 的每个值放在不同的单元格中,并保留这些字符串中可以包含的制表符、单引号、双引号和逗号?
我试图转义内部引号,但像 "v1\""tab"v2" 这样的情况仍然使 Excel 感到困惑。
注意:理论上,任何字符都可以出现在文本中,所以我宁愿采用“转义”策略而不是采用奇怪的分隔符。(我的数据可能更奇怪)
NB2:我不能使用“固定宽度”策略,因为值的大小变化很大,并且对齐更长的时间需要更多的磁盘空间。
NB3:我见过这个和类似的问题,但我的数据可以有逗号和制表符和其他任何东西。问题是分隔逗号后的空格,但这不是我的问题。
NB4:我对格式没有限制。来源是UTF-8。
有没有办法让Excel正常解析这样的字符串?
我在 Google 上发现的第一个结果是(可能有用):https : //gpdb.docs.pivotal.io/43190/admin_guide/load/topics/g-escaping-in-csv-formatted-files.html
作为数据一部分的带有逗号字符的数据值用双引号括起来。即使字段值包含在双引号中,作为数据一部分的双引号也会使用双引号进行转义。
让我们假设:
我们想将以下值导入到 excel:
为此,csv 文件必须如下所示:
"test ""a,b""", test 2, test "5","test 2,3"
我想你可以从这里解决你的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句