我在数据库字段中有非结构化的基本不洁净数据。数据中存在一致的共同结构
即:
field:
name:value
fieldset:
nombre <FieldSet>
field,
.
.
.
field(n)
table
nombre <table>
head(1)... head(n)
val(1)... val(n)
.
.
.
我想知道是否有一个工具(最好是Java)可以提取学习/理解这些数据结构,解析文件并转换为我可以运行验证检查的Map或对象?
我知道Antlr但是明白这更适合树构造,不是独立的数据(我错了吗?)
有没有人对整个问题有任何建议?
答案 0 :(得分:2)
我建议Talend。它是一种用途广泛的开源数据集成工具。它基于java。您可以使用内置工具/组件从非结构化数据源中提取数据。您还可以编写复杂的自定义Java代码来执行您想要的操作。
我在Talend的几个科学证据中使用了我的概念项目。它对我有用。很重要的是,它是免费的!
答案 1 :(得分:0)
我们最终使用了antlr,它要求我们制作多个词法分析器,其中一个词法分析器会操纵下一个词法分析器的输入。
另一个项目是pads - 在C
中写道答案 2 :(得分:0)
你应该使用“bnflite” https://github.com/r35382/bnflite 使用此模板库,您需要通过类和直接在C ++代码中重载运算符为您的文本开发类似语法的BNF。 好处是这样的语法很容易根据你的来源进行调整