【问题标题】:How to deal with comma in quote for csv file in Java?如何处理Java中csv文件引号中的逗号?
【发布时间】:2012-01-18 22:12:56
【问题描述】:

我正在使用opencsv 来读取 csv 文件。字段用逗号分隔。但是在一个字段中,如果它包含引号,则引号内的逗号不是分隔符。例如,“你好,世界”。

当前的 opencsv 无法处理。如何解决这个问题?

更新

我发现不是逗号的问题(到目前为止)。问题行是:...,"a children""s heart\",...。似乎去掉了引号,因此读取字段变为a children"s heart",............ 代表以下所有数据。

看来不是opencsv的问题,而是输入数据乱七八糟的问题。

【问题讨论】:

  • 首先,提交一个错误报告,因为Ignoring commas in quoted elements 在特性中声明。
  • 您希望它作为两个字段返回,即"HelloWorld" 吗?
  • @milan 我现在是基于 opencsv 做的
  • @tzaman 我希望他们在一起。
  • 2.1 API似乎支持这个,你试过用这些参数吗? char quotechar, boolean strictQuotes

标签: java csv quotes comma opencsv


【解决方案1】:

您可以编写自定义代码来搜索您的 csv 文件,并将引号内的所有逗号替换为 ,或您可以稍后识别并以逗号形式放回的特殊字符。

【讨论】:

    【解决方案2】:

    根据文档,您可以在构造函数中提供自定义分隔符和引号字符,这应该处理它:

    CSVReader(Reader reader, char separator, char quotechar)
    

    使用, 作为separator" 作为quotechar 构建您的阅读器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 2011-09-26
      • 1970-01-01
      • 2018-11-26
      相关资源
      最近更新 更多