gpt4 book ai didi

java - #Tablesaw #Java 导出为 csv 时,表格将缩减为仅列表的最后一个元素

转载 作者:行者123 更新时间:2023-12-01 17:33:12 25 4
gpt4 key购买 nike

我自学了Java,并且正在尝试做一些工作程序。正如标题所示, table 看起来不错。但是当我导出到 Csv 时,仅保存最后一个元素。

我一定是在某个地方犯了错误。我们将非常感谢您的帮助。

    public void listInsideFolder(String nomFile) throws Exception {
File file = new File(nomFile);
File[] listOfFiles = file.listFiles();

List<String> Adresses = new ArrayList<>();
List<String> Names = new ArrayList<>();

for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
Adresses.add(listOfFiles[i].getAbsolutePath());
Names.add(listOfFiles[i].getName());
}

StringColumn column0 = StringColumn.create("Names", Names);
StringColumn column1 = StringColumn.create("Addresses",Adresses);

Table t = Table.create();

t.addColumns(column0);
t.addColumns(column1);

// System.out.println(t);
// System.out.println(column0);
// System.out.println(Names);

t.write().csv("C:\\Users\\user\\Desktop\\Dossier\\Floweriest.csv");

Adresses.clear();
Names.clear();
t.clear();
column0.clear();
column1.clear();
}
}

最佳答案

按照 @fantaghirocco 的建议,您的 CSV 文件在每次迭代中都会被覆盖。

我不太清楚你想做什么。如果您希望每次迭代都有一个单独的输出文件,则需要为循环中的每次迭代提供新的文件名。

如果您尝试使用所有其他文件中的数据创建一个输出 CSV 文件,则需要在循环外部设置表格等。像这样:

public void listInsideFolder(String nomFile) throws Exception {

File file = new File(nomFile);
File[] listOfFiles = file.listFiles();

List<String> Adresses = new ArrayList<>();
List<String> Names = new ArrayList<>();

for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
Adresses.add(listOfFiles[i].getAbsolutePath());
Names.add(listOfFiles[i].getName());
}
}

StringColumn column0 = StringColumn.create("Names", Names);
StringColumn column1 = StringColumn.create("Addresses",Adresses);

Table t = Table.create();

t.addColumns(column0);
t.addColumns(column1);

t.write().csv("C:\\Users\\user\\Desktop\\Dossier\\Floweriest.csv");
}

如果这是您想要执行的操作,您还可以跳过列表,在循环之前创建表,然后使用 .append() 方法将结果直接添加到列中。

最后,还有一些小问题。地址拼写错误,在 Java 中,我们几乎从不将变量名大写,只将 Class、Enum 和 Interface 名称大写。

关于java - #Tablesaw #Java 导出为 csv 时,表格将缩减为仅列表的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61082982/

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