gpt4 book ai didi

java - 如何使用 simpleflatmapper 在 csv 文件中写入 List

转载 作者:行者123 更新时间:2023-11-30 02:06:08 24 4
gpt4 key购买 nike

我必须使用库 simpleflatmapper 而且我找不到一种方法来简单地在 csv 文件 中写入 List<String[]>使用这个。我可以解析(没有空行)并存储在 List<String[]> 中:

FileReader file = new FileReader("file.csv");
Iterator<String[]> parser = CsvParser.separator(',').quote('\"').iterator(file);
List<String[]> lines = new ArrayList<String[]>();
String[] line;
while(parser.hasNext()) {
line = parser.next();
if (line[0].length() != 0) {
lines.add(line);
}
}
FileWriter fw = new FileWriter("copy_file.csv");
........

但是我发现没有办法用List<String[]> lines的数据编写一个新的csv文件。 。我很确定这是可能的,但没有足够的合适文档。简而言之,我需要帮助!

最佳答案

与库作者讨论之后,这种情况的理想代码似乎是使用 CsvCellWriter (当我们事先不知道要写入的列数时,实际上如果我们没有标题)而不是 CsvWriter因为CsvWriter需要提前知道csv文件的结构才能写入; 线条List<String[]>

Maven 依赖项:

<groupId>org.simpleflatmapper</groupId>
<artifactId>sfm-csv</artifactId>
<version>3.18.3</version>
<小时/>
import org.simpleflatmapper.csv.*;
import org.simpleflatmapper.csv.impl.writer.CsvCellWriter;
..........
FileWriter writer = new FileWriter("new_file.csv");
CsvCellWriter cellWriter = CsvCellWriter.DEFAULT_WRITER.separator(',').quote('"');
lines.forEach ( strs -> {
try {
if (strs.length > 0) {
cellWriter.writeValue(strs[0], writer);
for (int i = 1; i < strs.length; i++) {
cellWriter.nextCell(writer);
cellWriter.writeValue(strs[i], writer);
}
}
cellWriter.endOfRow(writer);
} catch (IOException e) {e.printStackTrace();}
} );
writer.close();

此代码允许写入相同的列表数据,因为我们可以选择分隔符、引号以及最终的其他选项。 此外这个库似乎足够方便快捷地解析 csv 文件。

关于java - 如何使用 simpleflatmapper 在 csv 文件中写入 List<String[]>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51302603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com