我认为我在weka 3.7中发现了一个错误,
当我尝试使用带分隔符“;”的weka.core.converters.CSVLoader加载csv文件时,出现以下错误:
线程“main”中的异常java.io.IOException:number expected,read Token [1; 2],line 1 at weka.core.converters.ArffLoader $ ArffReader.errorMessage(ArffLoader.java:294) at weka.core.converters.ArffLoader $ ArffReader.getInstanceFull(ArffLoader.java:656) at weka.core.converters.ArffLoader $ ArffReader.getInstance(ArffLoader.java:477) at weka.core.converters.ArffLoader $ ArffReader.readInstance(ArffLoader.java:445) at weka.core.converters.ArffLoader $ ArffReader.readInstance(ArffLoader.java:430) at weka.core.converters.ArffLoader $ ArffReader。(ArffLoader.java:202) at weka.core.converters.CSVLoader.getDataSet(CSVLoader.java:803) at de.tuhh.thesis.repower.pcanalysis.BinningWindSpeed.from_CSV_to_ARFF(BinningWindSpeed.java:99) at de.tuhh.thesis.repower.pcanalysis.Main.main(Main.java:49)
我的csv文件是:
A; B
1; 2
我的代码是:
CSVLoader loader = new CSVLoader();
File inputFile = new File(csvFileName);
loader.setSource(inputFile);
loader.setFieldSeparator(";");
data = loader.getDataSet();
如果我尝试相同的代码但改变“;”对于“,”并使用以下文件,程序成功
a,b
1,2
我真的需要使用“;”
谢谢和问候
答案 0 :(得分:2)
(至少现在)有一个设置字段分隔符的选项:
CSVLoader loader = new CSVLoader();
loader.setFieldSeparator(";");
以防其他人偶然发现这个问题..