gpt4 book ai didi

java - Java从csv文件读取数据

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

我想从我的数据集 train.csv 中读取数据,并且我正在尝试使用 Java 来实现它。我的目标是获取这些原始数据,以便将其放入 csv 文件中,以便从该数据库创建决策树。我有类 DAO,其中实现了一个名为 extractTrainingData 的方法,我在其中编写代码来读取数据。该方法如下。

public static BufferedReader exTractTraningData(File datafile, String ListOfCharacteristics) throws IOException {

try {
//create BufferedReader to read csv file
BufferedReader reader = new BufferedReader(new FileReader(datafile));

String strLine = "";
StringTokenizer st = null;

int lineNumber = 0, tokenNumber = 0;;

String line = reader.readLine();

while ((strLine = line) != null) {
lineNumber++;
//break comma separated line using ","
st = new StringTokenizer(strLine, ",");

while (st.hasMoreTokens()) {
//display csv values
tokenNumber++;
System.out.println("Line # " + lineNumber
+ ", Token # " + tokenNumber
+ ", Token : " + st.nextToken()
+ ": " + line);
}
//reset token number
tokenNumber = 0;;
}
} catch (Exception e) {

System.out.println("Exception while reading csv file: " + e);
}
return null;
}

当我运行主类时,它会反复重复该行。我真的不知道我做得是否正确。我尝试遵循在线教程。谁能帮我吗?谢谢

最佳答案

问题是您的读取调用超出了 while 循环的测试范围。

String strLine = "";

String line = reader.readLine();

while ((strLine = line) != null) {

应该是

String strLine = "";

while ((strLine = reader.readLine()) != null) {

以便 while 循环的每次迭代都对新读取尝试的结果进行操作

关于java - Java从csv文件读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53565989/

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