关于在csv文件中对一行的元素进行排序并将其存储到不同的数组列表中



所以我有一个CSV文件,看起来像这样:

LS1312, AWFXQA, -12107909  
LS1313, VEDSBJV, -55003726  
LS1314, UCRQSE, -1711111

因此我想知道如何存储行的第一个元素(例如LS1312,LS1313(进入我的第一个ArrayList,第二个元素(AWFXQA,VEDSBJV(进入第二个ArrayList,最后一个元素(-12107909,-55003726(进入第三个ArrayList?这就是我现在所拥有的:我设法读取了该文件,但不确定如何将元素存储在其各自的Arraylist中。

public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new File(args[0]));
scanner.useDelimiter(",");
ArrayList < String > arrlist1 = new ArrayList < >();
ArrayList < String > arrlist2 = new ArrayList < >();
ArrayList < String > arrlist3 = new ArrayList < >();
while (scanner.hasNext()) {
arrlist1.add(scanner.next());
}
scanner.close();
}

您可以使用通用CSV库:

简单:

Reader in = new FileReader("yourFile.csv");
Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(in);
for (CSVRecord record : records) {
arrlist1.add(record.get(0));
arrlist2.add(record.get(1));
arrlist3.add(record.get(2));
}

您应该使用split()方法来分割行并分配给等效数组

public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new File(args[0]));
ArrayList<String> arrlist1 = new ArrayList<>();
ArrayList<String> arrlist2 = new ArrayList<>();
ArrayList<String> arrlist3 = new ArrayList<>();
String[] split;
while (scanner.hasNextLine())  {
split= scanner.nextLine().split(",");
arrlist1.add(split[0]);
arrlist2.add(split[1]);
arrlist3.add(split[2]);
}
scanner.close();
}

最新更新