我面临着来自客户的 CSV 文件,其中可能包含数十万行。是否有 DSL(或 Java 或 Python 中广受欢迎的库)可以有效地对这些信息进行计算,应用各种规则来发出警告和错误(当然是用户可配置的)?
问问题
949 次
1 回答
1
你能想象一个 DSL 可以做到吗?规则将如何?
几个月前,我研究过这样的问题——最终证明它比最初看起来更难。
第一步很明显——所有行都被解析并放置到特殊的数据结构中,这样我就可以使用它们了;那些缺少字段的被扔掉了。
每行都有其当前的“策略”属性,以及可能的策略列表(默认操作、忽略、强制、覆盖等)
起初,所有行都将其“策略”属性设置为“默认”。
行处理器检查该操作是否可行,创建错误和警告列表。
- 在处理和分析结果后,每行导致问题的都会给出一个可供用户选择的替代策略列表;
因此,如果有任何问题,用户可以更改行策略(或仅使用“忽略”)并返回第 4 步。
所以,我很好奇这样的 DSL 会在哪一步工作?
于 2011-06-28T16:05:16.647 回答