我希望每次读取一行CSV文件,然后在循环中将每一行解析为Class字段,然后将Class对象存储到一个数组中。
java类如下所示。
类Main{
String a;
String b;
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
public Main(String a, String b) {
super();
this.a = a;
this.b = b;
}}
我已经写了这段代码。
Scanner inFile1 = new Scanner(new File("C:\\Users\\souravpal\\Documents\\Bandicam\\a.csv"));
Main us = new USCrimeClass();
StringBuilder sb = new Main();
while(inFile1.hasNext()) {
String line = inFile1.nextLine();
String elements[] = line.split(",");
us.setProcess(elements[0],elements[1],elements[5],elements[9]);
System.out.println(us.toString());
}发布于 2020-12-13 22:54:37
" CSV“可能有很多不同的含义,但我假设你的CSV文件相当简单:
Avalue1, Bvalue1
Avalue2, Bvalue2
Avalue3, Bvalue3
etc.下面是如何将其解析为Main对象的List:
List<Main> loadCSV(String filename) {
List<Main> result = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileInputStream(filename)))
{
String line;
while ((line = br.readLine()) != null) {
String[] cols = line.split("\\s*,\\s*");
result.add(new Main(cols[0], cols[1]);
}
} catch (Exception ex){
ex.printStackTrace(System.err);
}
return result;
}发布于 2021-11-06 23:26:33
考虑使用库(它可以处理带引号的字段中的逗号),比如https://commons.apache.org/proper/commons-csv/user-guide.html
File infile = new File("/path/to/myfile.csv");
CSVParser parser = CSVParser.parse(infile, CSVFormat.RFC4180);
for (CSVRecord record : parser) {
String a = record.get("A");
String b = record.get("B");
...
}https://stackoverflow.com/questions/65276157
复制相似问题