ELKI:如何从java中的几个文件创建数据库

时间:2017-12-28 13:49:19

标签: java file elki

我尝试从几个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中的多个文件的代码

1 个答案:

答案 0 :(得分:1)

您将解析器设置为List<File>。那不行。

解析器是一个解释某些(文本)数据流输入的程序例程。

您需要设置正确的参数(输入文件名,而不是解析器)。

https://github.com/elki-project/elki/blob/709dbfa01b40ad023885b0745bad2f26184a4ac7/elki-input/src/main/java/de/lmu/ifi/dbs/elki/datasource/ConcatenateFilesDatabaseConnection.java#L164