将多个CSV文件转换为ARFF java

时间:2017-05-04 15:33:17

标签: java

我编译了一个程序,它读取指定目录中的所有.csv文件,并将它们转换为.arff格式。但是,不是将.arff文件放入目录,而是将所有.arff文件添加到一个大文件中。

理想情况下,我希望将所有.arff文件放入fileDestination中的文件夹中。

`public static void main(String[] args)throws Exception {
        File path = new File("/test//file//path//CSVfolder");
        File [] files = path.listFiles();

        String fileDestination = "C://test//file//path//ARFFfolder";

        for (int i = 0; i < files.length; i++){

                  CSVLoader loader = new CSVLoader();
                  loader.setSource(files[i]);
                  Instances data = loader.getDataSet();
                  data.setClassIndex(data.numAttributes()-1);
                  String[] options= new String[2];
                  options[0] = "-R";
                  options[1] = "last"; 

                  //Save the file in ARFF format
                  ArffSaver saver = new ArffSaver();
                  saver.setInstances(data);
                  saver.setFile(new File(fileDestination));
                  saver.writeBatch();  
            }
        }`

我理解错误来自saver.setFile(new File(fileDestination));

但是我似乎无法获得正确的语法。

1 个答案:

答案 0 :(得分:0)

您这样做了,但是fileDestination是常量并且指向目录(“ARFF文件夹”):

saver.setFile(new File(fileDestination));

请改用:

saver.setFile(new File(fileDestination, files[i].getName() + ".arff"));