gpt4 book ai didi

java - 如何仅将列表中的第 5 个值写入 csv

转载 作者:行者123 更新时间:2023-12-02 06:21:25 26 4
gpt4 key购买 nike

我正在使用 opencsv 库阅读几张 csv 表。我将“读取”的 csv 文件存储在 hugeList = reader.readAll(); 中,现在我只想将这个巨大 csv 工作表的第 5 个值按列写入另一张工作表中。

此刻我站在:

        //reading all entries in a huge list
//-740 as it would take to much time to run it in "dev mode"
for (int j = 0; j < (fileList.size() - 740); j++) {
String csvFile = "C:\\Users\\" + fileList.get(j);
reader = new CSVReader(new FileReader(csvFile), ';');
hugeList = reader.readAll();

List<String[]> data = new ArrayList<String[]>();
// for(int m = 0; m < hugeList.size(); m++) {
// String[] value = hugeList.get(m);
data.add(hugeList.get(5));
// }

writer.writeAll(data);

}

但是我不知道如何将它们写入另一列并只取第五个值?

非常感谢您的回答!

更新1

目标:我当时已将一张表中的所有值保存在巨大列表中。现在我想要仅将第 5 列写入新工作表中。

问题:此目标背后的逻辑。

更新2

enter image description here

这就是我的代码现在的样子:

//reading all entries in a huge list
for (int j = 0; j < (fileList.size() - 740); j++) {
String csvFile = "C:\\" + fileList.get(j);
reader = new CSVReader(new FileReader(csvFile), ';');
hugeList = reader.readAll();

List<String[]> data = new ArrayList<String[]>();
List<String> tmp= new ArrayList<String>();
for(int m = 0; m < hugeList.size(); m++) {
String[] values = hugeList.get(m);
tmp.add(values[0]);
}
data.add(tmp.toArray(new String[0]));


writer.writeAll(data);

}

如您所见,我仍然垂直获取数据...为什么?

最佳答案

我认为您已经走在正确的道路上了。

你有两种可能性。

1. data.add(hugeList.get(4));

2. for(int m = 0; m < hugeList.size(); m++) {
if(m==4){
String[] values = hugeList.get(m);
data.add(values);
break;
}
}

更新
目标:我当时已将一张表中的所有值保存在巨大列表中。现在我只想将第五列写入新表中。问题:这个目标背后的逻辑。

enter image description here我对行结果的方法

List<String[]> data = new ArrayList<String[]>();
List<String> tmp= new ArrayList<String>();
for(int m = 0; m < hugeList.size(); m++) {
String[] values = hugeList.get(m);
tmp.add(values[4]);
}
data.add(tmp.toArray(new String[0]));
}

我在列中获取结果的方法

 for (int j = 0; j < fileList.size(); j++) {
String csvFile = readPath + fileList.get(j);
System.out.println("Read: " + csvFile);
reader = new CSVReader(new FileReader(csvFile), ';');
hugeList = reader.readAll();

String[] data = new String[1];
for (int m = 0; m < hugeList.size(); m++) {
String[] values = hugeList.get(m);
data[0] = values[0];
writer.writeNext(data);
}
}

关于java - 如何仅将列表中的第 5 个值写入 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20972109/

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