我想使用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");
当我在记事本++中打开这个生成的CSV时,我得到2个空行:
data1
"
"
data2
如何获得一个空白行?
答案 0 :(得分:3)
printRecord
在数据后打印记录分隔符,在本例中为换行符。
然后你打印一个换行符,打印成一个包含另一个换行符的字符串,在不同的行上给你这两个双引号。
只需删除打印换行符的那个,或者,如果您真的想要那个空行,请使用csvFilePrinter.println()
输出记录分隔符(在您的情况下为"\n"
)。
答案 1 :(得分:2)
尝试 csvFilePrinter.printRecord("");
csvFilePrinter.println();
printRecord
将自动转义该行。您不需要额外的转义字符。
答案 2 :(得分:1)
我认为用csvFilePrinter.printRecord("\n");
替换csvFilePrinter.println();
可以胜任这项工作。
println()
将输出行分隔符,因此您将获得没有引号的完全空行。
希望它有所帮助!
答案 3 :(得分:0)
使用
定义CSVFilePrinterCSVFormat.DEFAULT.withRecordSeparator("\n")
因此,对于每条记录,将附加额外的\n
。然后打印三条记录:“data1”,“\ n”,“data2”
这将导致“data1 \ n \ n \ ndata2 \ n”,这正是您得到的结果。
只需用“”替换第二条记录。