Java 在android的ARFF中转换CSV
我有一个cvs文件,我想转换成arff格式 我将这个外部jar添加到构建路径和libs/: weka-3.6.6-android.jar 我的cvs文件没有标题行,如下所示:Java 在android的ARFF中转换CSV,java,android,csv,weka,arff,Java,Android,Csv,Weka,Arff,我有一个cvs文件,我想转换成arff格式 我将这个外部jar添加到构建路径和libs/: weka-3.6.6-android.jar 我的cvs文件没有标题行,如下所示: 0.56024569272995,0.34556102752685547,0.4986509583393733,0.025362752945036676,0.4992934039810014,0.56024569272995,0.34556102752685547,0.4986509583393733,0.02536275
0.56024569272995,0.34556102752685547,0.4986509583393733,0.025362752945036676,0.4992934039810014,0.56024569272995,0.34556102752685547,0.4986509583393733,0.025362752945036676,0.4992934039810014,0.56024569272995,0.34556102752685547,0.0,0.500127645839251,0.4992934039810014
0.5616480112075806,0.33134251832962036,0.48604997404442984,0.024514018315056698,0.48666570100992756,0.5616480112075806,0.33134251832962036,0.48604997404442984,0.024514018315056698,0.48666570100992756,0.5616480112075806,0.33134251832962036,0.0,0.4874815703186685,0.48666570100992756
0.6170566082000732,0.3362383246421814,0.48836380223366727,0.026372415937359308,0.4890729818269294,0.6170566082000732,0.3362383246421814,0.48836380223366727,0.026372415937359308,0.4890729818269294,0.6170566082000732,0.3362383246421814,0.0,0.4898928868146426,0.4890729818269294
根据weka网站,该代码从cvs转换为arff:
public void convertCSVtoArff(String activity){
try {
String file_source = activity + ".csv";
String file_dest = activity + ".arff";
// load CSV
CSVLoader loader = new CSVLoader();
loader.setSource(new File(file_path + "samples/" + file_source));
String[] options = {"-H"};
loader.setOptions(options);
Instances data = loader.getDataSet();
// save ARFF
ArffSaver saver = new ArffSaver();
saver.setInstances(data);
saver.setFile(new File(file_path + "samples/" + file_dest));
saver.setDestination(new File(file_path + "samples/" + file_dest));
saver.writeBatch();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
当我运行android应用程序时,LogCat给了我以下错误:
E/AndroidRuntime(23492): FATAL EXCEPTION: main
E/AndroidRuntime(23492):
java.lang.ExceptionInInitializerError
E/AndroidRuntime(23492):at
weka.core.converters.CSVLoader.readHeader(CSVLoader.java:882)
E/AndroidRuntime(23492):at
weka.core.converters.CSVLoader.readStructure(CSVLoader.java:534)
E/AndroidRuntime(23492):at
weka.core.converters.CSVLoader.getStructure(CSVLoader.java:519)
E/AndroidRuntime(23492):at
weka.core.converters.CSVLoader.getDataSet(CSVLoader.java:552)
E/AndroidRuntime(23492):at
com.unipa.file.FileOperation.convertCSVtoArff(FileOperation.java:151)
E/AndroidRuntime(23492):at
.
.
.
E/AndroidRuntime(23492): Caused by: java.lang.NullPointerException
E/AndroidRuntime(23492): at weka.core.converters.ConverterUtils.<clinit>
(ConverterUtils.java:741)
E/AndroidRuntime(23492): ... 19 more
E/AndroidRuntime(23492):致命异常:main
E/AndroidRuntime(23492):
java.lang.ExceptionInInitializeError
E/AndroidRuntime(23492):在
weka.core.converters.CSVLoader.readHeader(CSVLoader.java:882)
E/AndroidRuntime(23492):在
weka.core.converters.CSVLoader.readStructure(CSVLoader.java:534)
E/AndroidRuntime(23492):在
weka.core.converters.CSVLoader.getStructure(CSVLoader.java:519)
E/AndroidRuntime(23492):在
weka.core.converters.CSVLoader.getDataSet(CSVLoader.java:552)
E/AndroidRuntime(23492):在
com.unipa.file.FileOperation.convertCSVtoArff(FileOperation.java:151)
E/AndroidRuntime(23492):在
.
.
.
E/AndroidRuntime(23492):由以下原因引起:java.lang.NullPointerException
E/AndroidRuntime(23492):位于weka.core.converters.ConverterUtils。
(ConverterUtils.java:741)
E/AndroidRuntime(23492):。。。还有19个
我不明白是什么问题
你能帮我解决这个问题吗
提前谢谢,我的英语很抱歉 这是一个重复的问题,但我不能标记它,因为另一个问题还没有经过投票或接受的答案。但我只是提供了一个可能的答案,尽管它不是解决方案。()这是一个重复的问题,但我不能标记它,因为另一个问题还没有经过投票或接受的答案。但我只是提供了一个可能的答案,尽管它不是解决方案。()