我有一种情况,其中数据中的行之一在内容中具有定界字符。
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/