[英]How to write list of objects in a csv using opencsv CSVWriter in java
[英]How to wrap the cell when writing CSV file using CSVWriter in OpenCSV in java?
我正在尝试将XML文件转换为CSV。 解析XML并完成转换。 写入CSV文件时出现问题。 如果数据具有“换行”(即\\ n或\\ r),则它将作为新数据进入下一条记录。 因此,我无法使用OpenCSV CSVWriter生成正确的文档。 我需要包装单元格,以便它可以访问/写入数据到该单元格中。
CSVWriter(new FileWriterWithEncoding(csvFile,StandardCharsets.UTF_8,true),",",'\u0000',CSVWriter.NO_ESCAPE_CHARACTER,"\n");
在CSVWriter上方,我正在创建和写入数据,如下所示:
public static boolean writeIntoCSVFile(CSVWriter writer, String[] cdrList) throws Exception {
writer.writeNext(cdrList);
writer.flush();
return true;
}
输入XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<customers>
<customer>
<customers_email_address>abcd@gmail.com
</customers_email_address>
</customer>
<customer>
<customers_email_address>efgh@gmail.com
</customers_email_address>
</customer>
</customer>
预期产量:
+++++++++++++++
abcd@gmail.com
+++++++++++++++
efgh@gmail.com
+++++++++++++++
帮助将不胜感激。
我不知道为什么OpenCsv没有编写您需要的格式,但是univocity解析器可以做到。 您可以这样做:
//configure the format as you want
CsvWriterSettings settings = new CsvWriterSettings();
settings.trimValues(false);
settings.getFormat().setLineSeparator("\n");
//create a CSV writer with the settings
CsvWriter writer = new CsvWriter(new File("/path/to/your.csv"), "UTF-8", settings);
然后更新您的方法:
public static void writeIntoCSVFile(CsvWriter writer, String[] cdrList){
writer.writeRow();
}
完成后,致电
writer.close();
希望这可以帮助
披露:我是这个图书馆的作者。 它是开源且免费的(Apache 2.0许可证)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.