gpt4 book ai didi

java - 使用 I/O 流解析 CSV 文件

转载 作者:行者123 更新时间:2023-11-29 04:07:41 30 4
gpt4 key购买 nike

我有美国每个县的美国人口数据的 CSV 文件。我需要从文件的第 8 列获取每个人口。我正在使用 fileReader() 和 bufferedStream() 并且不确定如何使用 split 方法来完成此操作。我知道这不是太多信息,但我知道我将使用我的 args[0] 作为我类(class)的目的地。

老实说,我不知所措。

import java.io.FileReader;

public class Main {

public static void main(String[] args) {
BufferedReader() buff = new BufferedReader(new FileReader(args[0]));
String
}
try {

}
}

输出应该是美国总人口的整数。任何能为我指明正确方向的帮助都会很棒。

最佳答案

不要重新发明轮子,不要自己解析 CSV:使用库。即使像 CSV 这样简单的格式也有细微差别:字段可以用引号转义或不转义,文件可以有或没有标题等等。除此之外,您还必须测试和维护您编写的代码。因此,编写更少的代码并重用库是件好事。

Java 中有很多用于 CSV 的库:

恕我直言,前两个最受欢迎。

这是 Apache Commons CSV 的示例:

final Reader in = new FileReader("counties.csv");
final Iterable<CSVRecord> records = CSVFormat.DEFAULT.parse(in);

for (final CSVRecord record : records) { // Simply iterate over the records via foreach loop. All the parsing is handler for you
String populationString = record.get(7); // Indexes are zero-based
String populationString = record.get("population"); // Or, if your file has headers, you can just use them

… // Do whatever you want with the population
}

看看这有多简单!它与其他解析器类似。

关于java - 使用 I/O 流解析 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57366358/

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