我尝试从几个csv文件中获取数据。我使用ConcatenateFilesDatabaseConnection for db
Database getDbFromFiles(List<File> files) {
ListParameterization params = new ListParameterization();
params.addParameter(ConcatenateFilesDatabaseConnection.Parameterizer.PARSER_ID, files);
Database db = ClassGenericsUtil.parameterizeOrAbort(StaticArrayDatabase.class, params);
return db;
}
与FileBasedDatabaseConnection类似
ListParameterization params = new ListParameterization();
params.addParameter(FileBasedDatabaseConnection.Parameterizer.INPUT_ID, filename);
Database db = ClassGenericsUtil.parameterizeOrAbort(StaticArrayDatabase.class, params);
但是当我跑步时我得到错误
de.lmu.ifi.dbs.elki.utilities.optionhandling.UnspecifiedParameterException: 没有给出参数“dbc.in”的值:Expected:输入的名称 要解析的文件。 de.lmu.ifi.dbs.elki.utilities.optionhandling.WrongParameterValueException: 参数dbc.parser的值错误。读: [src \ main \ resources \ data1.csv,src \ main \ resources \ data2.csv, SRC \主\资源\ data3.csv。预计:Parser提供 数据库。实现de.lmu.ifi.dbs.elki.datasource.parser.Parser
也许有人在ELKI上使用过多个文件并知道如何操作 做得对。我没有找到处理ELKI中的多个文件的代码
答案 0 :(得分:1)
您将解析器设置为List<File>
。那不行。
解析器是一个解释某些(文本)数据流输入的程序例程。
您需要设置正确的参数(输入文件名,而不是解析器)。