Search code examples
javacsvapache-commons-csv

Including double quotes while writing CSV using apache commons in java


I am using apache commons CSV to write csv files. I want to stick to this library. While I am writing a csv file, in the first column of generated file, it contains double quotes as quote character and other columns are generated as expected.

I really want to get rid of double quotes here. Please find below code for the same.

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

"",hello1,,test
"#",hello2,,test
"",hello3,,test
"",hello4,,test

I don't want a quote character at the beginning of every row. I just want an empty string without quotes, same as in column 3. Can anyone help?


Solution

  • This is a known issue. You can vote for it in the apache commons csv issue tracker:

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