在 java 中使用 apache commons 编写 CSV 时包括双引号

Including double quotes while writing CSV using apache commons in java

我正在使用 apache commons CSV 来编写 csv 文件。我想坚持这个图书馆。当我写一个 csv 文件时,在生成文件的第一列中,它包含双引号作为引号字符,其他列按预期生成。

我真的很想去掉这里的双引号。请在下面找到相同的代码。

CSVFormat format = CSVFormat.DEFAULT;
FileWriter fw = new FileWriter("Temp.csv");
CSVPrinter printer = new CSVPrinter(fw, format);

String[] temp = new String[4];

for(int i=0; i<4; i++) {
    if(i==1)
        temp[0] = "#";
    else
        temp[0] = "";
    temp[1] = "hello" + (i+1);
    temp[2] = "";
    temp[3] = "test";

    Object[] temp1 = temp[]
    printer.printRecord(temp1);
}

fw.close();
printer.close();

Temp.csv

"",你好1,测试
"#",hello2,测试
"",hello3,测试
"",hello4,测试

我不想在每一行的开头使用引号字符。我只想要一个不带引号的空字符串,与第 3 列中的相同。有人可以帮忙吗?

这是一个已知问题。您可以在 apache commons csv 问题跟踪器中为其投票:

https://issues.apache.org/jira/browse/CSV-63

lars issue tracking中提到,尝试将CS​​VFormat设置为如下,

final CSVFormat csvFileFormat = CSVFormat.DEFAULT.withEscape('\').withQuoteMode(QuoteMode.NONE);