gpt4 book ai didi

java - 使用java处理多个csv行

转载 作者:行者123 更新时间:2023-12-01 19:58:22 26 4
gpt4 key购买 nike

我有一个文件,我将每个 csv 值写入一个新行。结果看起来像这样:

Hello;kind;world
Mister;John;Doe

等等。我还有一个类,其中的构造函数采用每个部分值,例如John作为参数:

public MyClass(String first, String second, String third) {}

因此我需要一个Collection<MyClass> 。在处理时,我迭代每个 csv 行,然后在用 ; 分割它之后,在内部 for 循环中遍历特定的行值。像这样:

Collection<String> csvLines = Files.readAllLines(pathToMyFile);
for (String csvLine : csvLines) {
String[] csvLineSplitted = csvLine.split(";");
for (int i = 0; i < csvLineSplitted.length; i++) {
String value = scvLineSPlitted[i]; //This can be the above mentioned value, e.g. 'John'
}
}

如何创建 MyClass 类型的对象与每个特定参数,然后将其存储在 Collection<MyCLass> result 中?

最佳答案

只需定义一个类:

public class MyClass {
private String param1;
private String param2;

public MyClass(String param1, String param2) {
this.param1 = param1;
this.param2 = param2;
}

// getters and setters
}

然后在迭代 CSV 数据时使用该类:

Collection<String> csvLines = Files.readAllLines(pathToMyFile);
List<MyClass> list = new ArrayList<>();
for (String csvLine : csvLines) {
String[] csvLineSplitted = csvLine.split(";");
MyClass node = new MyClass(csvLineSplitted[0], csvLineSplitted[1]);
list.add(node);
}

请注意,我在这里假设您的数据只有两列。如果实际数据有几列,那么在 for 循环中迭代的方法更有意义。

关于java - 使用java处理多个csv行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48702899/

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