比较 csv 的差异

在Mule中比较两个CSV文件以找出新增、删除和更新的行。JAVA没有内置功能,但可以通过集算器(SPL)辅助实现,它提供了一种按主键查找差异的简便方法,并且能方便地嵌入JAVA应用。
摘要由CSDN通过智能技术生成

【问题】

Scenario - I would have to compare 2 csv files in mule. Find details like new rows added,deleted or updated. I have searched but there is no such feature/component. Wondering if we can use bash script in mule? The option known to me is through a java component. But wanted better suggestions or ideas

Please suggest pointers to give a start.

【回答】

比较 csv 文件中数据差异其实是结构化数据的集合运算。JAVA 没有提供现成的函数,自行实现很麻烦。可以试试用 SPL 辅助 JAVA,比如下面代码可按 userName\date 双主键找到新增记录。

AB
1=file("D:\\old.csv").import@t(;",").sort(userName,date)=file("D:\\new.csv").import@t(;",").sort(userName,date)
2=[B1,A1].merge@d(userName,date)

找删除或更新的数据也可用集算器实现,详见《集算器比较 csv 文件中数据差异》。集算器也很容易嵌入到 JAVA 的应用程序中,可以看成是一套用于结构化数据计算的 JAVA 类库。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值