【问题标题】:How to write a csv file having "|" as a delimiter如何编写具有“|”的csv文件作为分隔符
【发布时间】:2015-11-17 08:05:04
【问题描述】:

例如,如果我想将数据写入 csv 文件

    FileWriter fw = new FileWriter("C:\\output\\delimited.csv");
        fw.write("hi");
        fw.write(",");
        fw.write("hello");
        fw.write(",");
        fw.write("working");
        fw.flush();
        fw.close();

我的输出将是

在上面的文件中用“,”作为分隔符。 如果我想将文件写为“|”作为分隔符。应该怎么做?

我尝试在 java 中使用 CsvPreference,但它没有满足我的要求。

【问题讨论】:

  • fw.write("|"); 呢?
  • 一个具有“hi|hello|working”的单元格是输出
  • 这不是输出,这是 Excel 解释保存文件的方式。它不太擅长将管道识别为分隔符。
  • 当然,您还需要告诉 Excel 您也使用了非标准分隔符。检查“数据”选项卡上的“来自文本”按钮(假设 Excel 2013 或更高版本)。您可以在那里设置分隔符。
  • 如果要使用像管道这样的非标准分隔符,则需要使用 Data ► Get External Data ► From Text 并将管道设置为分隔符。

标签: java file csv filewriter


【解决方案1】:

使用"\t"(制表符)可以解决问题:Excel 无法识别|。制表符是更习惯的分隔符,通常不在文本中。

还有 Excel,让我们自定义导入并选择您自己的 |,但这很麻烦。

【讨论】:

  • 所以不可能设置“|”以编程方式作为我在 csv 文件中的分隔符。谢谢你们的支持。 ://
  • @ManojKrishna 可以,但是excel无法识别。
  • @ManojKrishna 输入“|”作为 csv 中的分隔符和在 excel 中使用此分隔符是两件事
猜你喜欢
  • 2022-06-15
  • 2021-05-22
  • 2021-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-01
  • 1970-01-01
  • 2022-01-11
相关资源
最近更新 更多