有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java修改元模型的模式以更改/重命名列名

我使用Apache元模型来获取模式信息。有一个用例,我需要为没有头的csv文件创建CsvDataContext对象。我在一个单独的数据结构(List<String> colNames)中有列名

context对象给出的列名为"A", "B", "C", etc。我猜metamodel为没有标题的表指定了一些默认列名

有没有办法修改CsvDataContext对象持有的模式

我认为UpdateableDataContext应该可以工作,但是文档没有公开任何允许修改元数据(如列名)的方法

如何实现这种情况


共 (1) 个答案

  1. # 1 楼答案

    创建CsvDataContext时,指定一个CsvConfiguration。在CsvConfiguration中的一个选项是提供ColumnNamingStrategy。默认策略实际上是使用字母字符,ABC等。但是您可以使用自定义命名策略,如下所示:

    ColumnNamingStrategy columnNamingStrategy =
        ColumnNamingStrategies.customNames("id", "foo", "bar", "baz");
    CsvConfiguration configuration = new CsvConfiguration(
        0, columnNamingStrategy, "UTF-8", ',', '"', '\\', true, false);
    return new CsvDataContext(file, configuration);