我遇到的CSV文件来自客户端,可能包含数十万行。是否有DSL(或Java或Python中非常流行的库)可以有效地运行此信息的计算,应用各种规则来发出警告和错误(当然,用户可配置)?
答案 0 :(得分:1)
你能想象一个可以做DSL的DSL吗?规则将如何?
几个月前,我处理过这样的问题 - 最终结果证明它比起初看起来更难。
第一步显而易见 - 全部 行被解析并放置到 特殊数据结构,所以我可以 与他们合作;有的人 遗失的田地被扔掉了。
每一行都有其当前的“策略” 财产和可能的清单 策略(默认操作,忽略, 强制,覆盖等)
起初所有行都有“策略” 属性设置为“默认”。
行处理器检查操作是否 可能,创建错误列表 和警告。
因此,如果有任何问题,用户可以更改行策略(或只是简单地使用“忽略”)并返回步骤4.
所以,我很好奇这样一个DSL工作的步骤是什么?