使用 java 在 csv 中插入空行

Inserting blank line in csv using java

我想使用 java 在 csv 中插入一个空行。我写了以下代码:

CSVFormat csvFileFormat = CSVFormat.DEFAULT.withRecordSeparator("\n").withEscape('\');
FileWriter fileWriter = new FileWriter(csvFile);

CSVPrinter csvFilePrinter = new CSVPrinter(fileWriter,csvFileFormat);

csvFilePrinter.printRecord("data1");
csvFilePrinter.printRecord("\n");
csvFilePrinter.printRecord("data2");

当我在 notepad++ 中打开这个生成的 CSV 文件时,出现了 2 个空白行:

 data1
 " 
 "
 data2

如何得到一个空白行?

我想用 csvFilePrinter.println(); 替换 csvFilePrinter.printRecord("\n"); 就可以了。 println() 将输出行分隔符,因此您将得到完全没有引号的空行。

希望对您有所帮助!

尝试 csvFilePrinter.printRecord(""); csvFilePrinter.println(); printRecord 会自动转义该行。您不需要额外的转义字符。

printRecord 在数据后打印记录分隔符,在本例中为换行符。

然后你打印一个换行符,它被打印为一个包含另一个换行符的字符串,它在不同的行上给你这两个双引号。

只需删除打印换行符的那个,或者,如果您真的想要那个空行,请使用 csvFilePrinter.println() 它将输出记录分隔符(在您的情况下,"\n")。

您使用

定义 CSVFilePrinter
CSVFormat.DEFAULT.withRecordSeparator("\n")

因此,对于每条记录,将追加一个额外的 \n。然后打印三个记录:"data1", "\n", "data2"

这将导致 "data1\n\n\ndata2\n",这正是您得到的结果。

只需将第二条记录替换为“”即可。