gpt4 book ai didi

java - Apache 通用 CSV 格式化程序 : IOException: invalid char between encapsulated token and delimiter

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:32:50 25 4
gpt4 key购买 nike

我正在尝试使用 JakartaCommons-csv 解析 CSV 文件

示例输入文件

Field1,Field2,Field3,Field4,Field5
"Ryan, R"u"bianes"," dummy@gmail.com","29445","626","South delhi, Rohini 122001"

格式化程序:CSVFormat.newFormat(',').withIgnoreEmptyLines().withQuote('"')CSV_DELIMITER 是 ,

输出

  1. CSV 解析后的 Field1 值应为:Ryan, R"u"bianes
  2. CSV 解析后的 Field5 值应为:South delhi, Rohini 122001

异常: Caused by: java.io.IOException: (line 2) invalid char between encapsulated token and delimiter

最佳答案

问题是您的文件未遵循 CSV 文件中公认的引用标准。在带引号的字符串中表示引号的正确方法是重复引号。例如。

Field1,Field2,Field3,Field4,Field5
"Ryan, R""u""bianes"," dummy@gmail.com","29445","626","South delhi, Rohini 122001"

如果您限制自己使用 CSV 引用的标准形式,Apache Commons CSV 解析器应该可以工作。

不幸的是,为您的变体格式编写一致的解析器是不可行的,因为如果您需要表示包含“Ryan R”,"baines< 的字段,则无法消除嵌入式逗号和字段分隔符的歧义”。

在 CSV 文件中引用的规则在各个地方都有规定,包括 RFC 4180 .

关于java - Apache 通用 CSV 格式化程序 : IOException: invalid char between encapsulated token and delimiter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50423910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com