我有一个场景,其中数据中的一行在内容中具有分隔符。
5 |0St"|"ring |field[1]
应始终通过 - 引用字段分隔符
其中分隔符是|如上所示,它也存在于其中一列中。
我的配置如下:
quoteChar = "
quoteEscapeChar = \\
但是当我尝试解析该行时,它会将列拆分为两个单独的列(“0St”和“ring”)并失败。
如果在整个列周围放置引号,如下所示,它可以正常工作。
5 |"0St|ring" |field[1]
应始终通过 - 引用字段分隔符
是否有任何设置来指定分隔符转义字符?
我正在使用univocity 2.5.9
感谢任何帮助
答案 0 :(得分:1)
此处是库的作者。我相信我已经在您打开的ticket中解释了该问题,但让我再试一次:
基本上,不是CSV格式的工作方式。
如果您的值中有一个字段定界符(即您在|
和0St
之间有一个ring
),则必须用整个引号引起来,即,必须将值写成为"0St|ring"
,而不是0St"|"ring
。
任何CSV解析器都会将0St"|"ring
读入0St"
,然后尝试将|
之后的内容作为另一个值进行处理。除了将整个值写在引号中,您别无选择。
将0St"|"ring
解析为单个值的唯一方法(我假设您想获得0St|ring
的结果)是编写自己的解析代码以这种方式处理数据。
希望这会有所帮助。