CSV文件,其值在引号文本限定符内带有单引号

时间:2019-01-03 14:52:55

标签: excel csv opencsv univocity

我正在尝试解析一个带有单引号作为文本限定符的CSV文件。这里的问题是带有单引号文本限定符的某些值本身包含单引号 e-g:

'Fri, 24 Feb 2017 17:44:57 +0700','th01ham000tthxs','/','','Writer's Tools Data','7.1.0.0',

我正在努力解析文件,因为此行之后,其余所有行都被替换了。

我尝试过与OpenCSV,UnivocityParsers合作,但没有任何运气。 如果我将上面的行放在excel(Excel Image)中,并提供文本限定符作为单引号,则它会给出正确的结果而不会造成行的任何移位。

2 个答案:

答案 0 :(得分:0)

如果使用Java,则JRecord库应处理文件。

工作原理:如果字段以引号开头(例如,'),则专门查找',' ”,''''','等(单引号,后跟一个逗号行尾标记)。如果出现以下情况,这种方法会失败:

  • 嵌入的引号是字段中的最后一个字符,即“带引号”的字段,
  • 引号和逗号之间的空白,即“字段”,,'

这是ReCsvEditor

中的行

ReCsvEditor


在ReCsvEditor中编辑文件时,如果您选择 Generate >>> Java Code >>> ... ,它将生成Java / JRecord Code来读取文件。

ReCsvEditor Generate

免责声明::我是JRecord / ReCvEditor的作者。另外,ReCsvEditor Generate函数是新增功能,需要做更多的工作

答案 1 :(得分:0)

尝试根据您的方案配置univocity解析器以处理未转义的报价。 <a-curvedimage link="href: hall.html; on: click"></a-curvedimage> 的引号不转义。从您的输入中,我可以看到您想使用'Writer's Tools Data'作为解决这些值的策略。

将此行添加到您的代码中,它应该可以正常工作:

STOP_AT_CLOSING_QUOTE

希望这会有所帮助。