我有一种情况,其中数据中的行之一在内容中具有定界字符。

5 |0St"|"ring |field[1]


应始终通过-带引号的字段分隔符

分隔字符是|并且它也出现在如上所示的一列中。

我的配置如下:

quoteChar = "
quoteEscapeChar = \\


但是,当我尝试解析该行时,它将列拆分为两个单独的列(“ 0St”和“ ring”)而失败。

如果整个列的看跌报价如下所示,则效果很好。

5 |"0St|ring" |field[1]


应始终通过-带引号的字段分隔符

是否有任何设置指定分隔符转义字符?

我正在使用unicity 2.5.9

任何帮助表示赞赏

最佳答案

这里是图书馆的作者。我相信我已经在您打开的ticket中解释了该问题,但是让我再试一次:

基本上,这不是CSV格式的工作方式。

如果您的值中有一个字段定界符(即您在|0St之间有一个ring),则必须用整个引号引起来,即,您必须将值写为"0St|ring"而不是0St"|"ring

任何CSV解析器都会将0St"|"ring读入0St",然后尝试将|之后的内容作为另一个值进行处理。除了将整个值写在引号中,您别无选择。

0St"|"ring解析为单个值的唯一方法(我假设您想得到0St|ring作为结果)是编写自己的解析代码以这种方式处理数据。

希望这可以帮助。

关于java - 在Univity CSV解析器中转义分隔字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50925643/

10-11 22:22