问题描述
|
我面临着来自客户端的CSV文件,该文件可能包含数十万行。是否有DSL(或Java或Python中非常流行的库)可以有效地对此信息进行计算,并应用各种规则来发出警告和错误(当然,用户可以配置)?
解决方法
您能想象使用DSL吗?规则看起来如何?
几个月前,我致力于解决这个问题-最终,结果比最初看起来要难。
第一步很明显-所有
行被解析并放置到
特殊的数据结构,所以我可以
与他们一起工作;与
丢失的字段被扔掉了。
每行都有其当前的“策略”
属性,以及可能的列表
策略(默认操作,忽略,
强制,覆盖等)
最初,所有行都有其“策略”
属性设置为\“默认\”。
行处理器检查操作是否为
可能,创建错误列表
和警告。
处理后
并分析结果的每一行
引起问题的列表
用户可以选择的替代策略
选择;
因此,如果有任何问题,用户可以更改行策略(或仅使用\“ Ignore \”)并返回到步骤4。
因此,我很好奇这样的DSL会在哪一步工作?