gpt4 book ai didi

java - 使用 CSVWriter 将列表写入 CSV 文件的问题

转载 作者:行者123 更新时间:2023-11-30 10:45:29 26 4
gpt4 key购买 nike

我有以下方法使用 CSVWriter 将列表写入 CSV 文件。不幸的是,它没有用逗号分隔它们,当我在 Excel 中打开它时,它们会变得很乱。我该如何修改它?

   private void generateCSV(List<String> dataset) throws IOException {
CSVWriter writer = null;
JFileChooser chooser = new JFileChooser();
chooser.setAcceptAllFileFilterUsed(true);
if (chooser.showSaveDialog(chooser) == JFileChooser.APPROVE_OPTION) {
File f = chooser.getSelectedFile();
String file_name = f.toString();
if (!(file_name.endsWith(".csv"))) {
file_name += ".csv";
}
writer = new CSVWriter(new FileWriter(f));
for(int i=0; i< dataset.size(); i++){
String[] str = new String[] {dataset.get(i)};
writer.writeNext(str);
}

} else {
return;
}
writer.close();
}

最佳答案

您要在 for 循环中为 dataset 上的每个元素创建一个 String[],然后使用 writeNext() 在每一行中写入一个元素。所以它们不是逗号分隔的,因为它每行只有一个元素,使用每行末尾的行分隔符。

我认为这就是您想要的。我说得对吗?

private void generateCSV(List<String> dataset) throws IOException {
CSVWriter writer = null;
JFileChooser chooser = new JFileChooser();
chooser.setAcceptAllFileFilterUsed(true);
if (chooser.showSaveDialog(chooser) == JFileChooser.APPROVE_OPTION) {
File f = chooser.getSelectedFile();
String file_name = f.toString();
if (!(file_name.endsWith(".csv"))) {
file_name += ".csv";
}
writer = new CSVWriter(new FileWriter(f));
String[] str = new String[dataset.size()];
for (int i = 0; i < dataset.size(); i++) {
str[i] = dataset.get(i);
}
writer.writeNext(str);

} else {
return;
}
writer.close();
}

关于java - 使用 CSVWriter 将列表写入 CSV 文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36961747/

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