2

weka 3.7でバグを発見したと思いますが、

weka.core.converters.CSVLoader をセパレーター ";" で使用して csv ファイルを読み込もうとすると、次のエラーが発生します。

スレッド「メイン」での例外 java.io.IOException: 番号が必要です。weka.core.converters.ArffLoader$ArffReader.errorMessage(ArffLoader.java:294) の行 1、weka.core.converters の Token[1;2] を読み取ります.ArffLoader$ArffReader.getInstanceFull(ArffLoader.java:656) at weka.core.converters.ArffLoader$ArffReader.getInstance(ArffLoader.java:477) weka.core.converters.ArffLoader$ArffReader.readInstance(ArffLoader.java:445) ) weka.core.converters.ArffLoader$ArffReader.readInstance(ArffLoader.java:430) で weka.core.converters.ArffLoader$ArffReader.(ArffLoader.java:202) で weka.core.converters.CSVLoader.getDataSet(CSVLoader) .java:803) de.tuhh.thesis.repower.pcanalysis.BinningWindSpeed.from_CSV_to_ARFF(BinningWindSpeed.java:99) で 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

私は本当に「;」で作業する必要があります

感謝と敬意

4

1 に答える 1

2

(少なくとも今のところ) フィールドセパレーターを設定するオプションがあります:

CSVLoader loader = new CSVLoader();
loader.setFieldSeparator(";");

他の誰かがこの質問に出くわした場合に備えて..

于 2017-01-10T17:03:55.627 に答える