在比较csv文件时,Powershell会提供帮助

时间:2016-07-19 18:51:42

标签: powershell

我有两个csv文件(一个参考文件和一个新的记录文件)。 Compare-object无法像csv文件一样帮助我,尽管重叠数据的格式不同。

作为示例:从Excel导出的参考文件具有1000条记录

"date","account","description","amount"
"1/29/2013","Chase1","Kohl's"," $(32.05)"
"1/31/2013","Chase1","Target"," $(65.29)"

新的记录文件,基于来自追逐或其他银行网站的csv下载更加香草,看起来像这样

date,account,description,amount
1/31/2013,Chase1,Target,-65.29

有人会提供一些代码,允许new_records文件中的这一行与参考文件中的第二行匹配。基本上需要能够导入csv但忽略参考文件中的格式,然后再将其路由到任何比较器(例如compare-object)或自定义函数。

我对正在创建的多个中间文件,或低效的for循环或使用compare-object等持开放态度。

更新

尽管有所有评论我没有一个有效的解决方案。需要代码来帮助从csv文件中删除货币格式,并与没有此格式的原始文件进行比较。

1 个答案:

答案 0 :(得分:0)

刚刚测试

$file1 = import-csv -Path "C:\deleted.csv" 
$file2 = import-csv -Path "C:\deleted2.csv" 
Compare-Object $file1 $file2 -property date,account,description,amount -IncludeEqual

File1
date,account,description,amount
1/31/2013,Chase1,Target,-65.29
1/31/2013,Chase1,Target,-32.05

File2
date, account , description , amount 
 1/29/2013 , Chase1 , Kohl's ,  $(32.05) 
 1/31/2013 , Chase1 , Target ,  $(65.29) 

得到了这个

enter image description here