Rod
Rod

Reputation: 366

Weka 3-7 CSVLoader do not work with ";" (semicolon) as field separator

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

Answers (1)

N4ppeL
N4ppeL

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

Related Questions