Reputation: 366
I think that i found a bug in weka 3.7,
When I try to load a csv file using weka.core.converters.CSVLoader with separator ";", I get the following error:
Exception in thread "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)
My csv file is:
a;b
1;2
my code is:
CSVLoader loader = new CSVLoader();
File inputFile = new File(csvFileName);
loader.setSource(inputFile);
loader.setFieldSeparator(";");
data = loader.getDataSet();
if I try the same code but changing ";" for "," and using the following file, the program succeeds
a,b
1,2
I really need to work with ";"
Thanks and regards
Upvotes: 2
Views: 1709
Reputation: 1847
There is (at least by now) an option to set the field separator:
CSVLoader loader = new CSVLoader();
loader.setFieldSeparator(";");
Just in case someone else stumbles upon this question..
Upvotes: 2