【问题标题】:Create CSV with single column header in Java在 Java 中创建带有单列标题的 CSV
【发布时间】:2015-12-10 13:26:11
【问题描述】:

如何在 Java 中创建 CSV 文件并将标题数据设置为单列而不是逗号分隔?例如:

A 列 = 标题 1

B 列= Header2

然后在每个表头下面写数据:

标头1标头2

文本1 文本2

请问有什么例子吗? 非常感谢。

【问题讨论】:

  • CSV 代表Comma Seperated value,而您想要一个不带逗号分隔符的CSV
  • 你应该解释你在哪里有问题。最好显示一小段代码来演示您的问题。
  • @UmaKanth 虽然首字母缩略词是 comma,但 csv 文件的其他分隔符很常见,例如 caret(^) 或简单的 空格或制表符。大多数 csv 文件解析器都能够识别这些分隔符。
  • 是的,我知道。检查我的答案,我提供了更改seperator的选项。

标签: java csv header


【解决方案1】:

使用uniVocity-parsers 写入CSV:

CsvWriterSettings settings = new CsvWriterSettings(); //many options here. Check the documentation

settings.getFormat().setDelimiter('|'); 

CsvWriter writer = new CsvWriter(new FileWriter(new File("path/to/output.csv")), settings);

writer.writeHeaders("Header A", "Header B");

//write rows individually
writer.writeRow("string 1", "string 2"); 
writer.writeRow(234, new BigDecimal(111)); 

//or write a list of rows in bulk
List<Object[]> yourRows = yourMethodToBuildRowsWithData();

writer.writeRowsAndClose(yourRows);

您似乎可以使用 TSV 而不是 CSV 来生成更易于可视化的列,由制表符分隔。在这种情况下,只需将 CsvWriterSettingsCsvWriter 替换为 TsvWriterSettingsTsvWriter

披露:我是这个库的作者。它是开源免费的(Apache V2.0 许可)。

【讨论】:

    【解决方案2】:

    最后,我找到了如何创建 CSV 文件并将标题和值存储在单独的列中的简单解决方案。我们需要的例子是:

    ColumnA ColumnB
    Value1  Value2
    

    我没有使用任何库,使用 Java 的 FileWriter 我执行以下操作。将逗号分隔符从 (,) 更改为 (;),如下例所示。

    私有静态最终字符串 COMMA_DELIMITER = ";";

    然后定义列名和其余示例代码。

    private static final String FILE_HEADER = " **ColumnA; ColumnB**";
    FileWriter fileWriter = null;
    fileWriter = new FileWriter("your_csv_file.csv");
    // Write the CSV file header
    fileWriter.append(FILE_HEADER.toString());
    // Add a new line separator after the header
    fileWriter.append(NEW_LINE_SEPARATOR);
    fileWriter.append(“Value1”);                
    fileWriter.append(COMMA_DELIMITER);
    fileWriter.append(“Value2”);
    fileWriter.append(NEW_LINE_SEPARATOR);
    fileWriter.flush();
    fileWriter.close();
    

    请注意,您必须使用 try-catch 和 finally 块正确编写代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 2020-02-14
      相关资源
      最近更新 更多