【问题标题】:Need help in writing data to csv file in java在 java 中将数据写入 csv 文件时需要帮助
【发布时间】:2011-06-14 02:44:18
【问题描述】:

我正在使用以下代码使用 java 将数据附加到 csv 文件:

fw.append("Company Name");
fw.append(',');
fw.append(',');
fw.append(',');
fw.append("Addres");
fw.append(',');
fw.append("Phones");
fw.append(',');
fw.append("Faxes");
fw.append(',');
fw.append("Websites");
fw.append(',');
fw.append('\n');
fw.append(companyName);
fw.append(',');
fw.append(address);
fw.append(',');
fw.append(phones);
fw.append(',');
fw.append(faxes);
fw.append(',');
fw.append(websites);
fw.append(',');
fw.append('\n');
fw.flush();

但是我没有按照上面指定的代码以正确的格式在 csv 文件中得到结果。

请帮我解决问题。

提前致谢。

问候

【问题讨论】:

  • 您能否更具体地说明您所看到的内容?
  • 发布此代码生成的格式并说明您认为生成的格式不正确的原因

标签: java csv io


【解决方案1】:

考虑利用已经解决通用 CSV 写入问题的开源解决方案,而不是这样做:

http://opencsv.sourceforge.net/

【讨论】:

  • 但是使用这种方法有什么问题。请回答这个
  • 与这个答案一样,我很幸运kasparov.skife.org/csv(也是开源的)
  • @Ankur:通过使用这种方法,您可以专注于将数据放入适当的内存结构中,并让 CSVWriter 处理编码到磁盘的细节(以适当的 CSV 方式,利用CSV 相关的转义、编码等)
【解决方案2】:

您应该使用; 而不是,

【讨论】:

  • 不一定。这取决于应用程序。使用 ',' 作为小数分隔符 (1,23) 的语言环境通常使用 ';'记录之间。不 (1.23) 的语言环境通常在记录之间使用“,”。
【解决方案3】:
fw.append("Company Name");
              fw.append(','); // <-- extra
              fw.append(','); // <-- extra
              fw.append(',');
              fw.append("Addres");

这会在您的 csv 中创建额外的字段,并从相应的行中偏移您的标题。

fw.append('\n');
              fw.append(companyName);  
              fw.append(',');   //  <-- only one comma, not three
              fw.append(address);
              fw.append(',');
              fw.append(phones);

【讨论】:

    猜你喜欢
    • 2018-07-28
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多