比较许多csv文件以生成输出

时间:2015-09-14 21:33:28

标签: python csv compare

我试图编写一个python脚本来比较某些产品的价格。 我有多个csv文件,例如file1.csv,file2.csv,file3.csv。 每个csv文件都具有相同的格式,例如:

File1.csv
Barcode    Description    Price  
1111111    Descr1         1.2   
1111112    Descr2         3.5  
1111113    Descr3         7.0  
2222222    DescrX         4.3  
etc..    

File2.csv
Barcode    Description    Price  
1111113    Descr3         8.0   
1111112    Descr2         3.0  
1111114    Descr4         11.3  
etc..      

文件中的行不会以相同的顺序出现,有时同一产品的描述会因不同的文件而异。条形码中唯一可以在不同文件中相同的东西。 我试图实现的目标是获得这样的输出csv文件:

Output.csv
Barcode    Description    Price1    Price2    ...    PriceX
1111111    Descr1         1.2
1111112    Descr2         3.5       3.0  
1111113    Descr3         7.0       8.0
1111114    Descr4                   11.3
2222222    DescrX         4.3  

输出必须显示给定产品的所有价格。 我找到的唯一类似的事情就是:Merge two tables (CSV) if (table1 column A == table2 column A) 但是它只能处理两个csv文件,如果file2中的条形码与file1中的条形码不匹配,那么它就不会出现在输出中。

1 个答案:

答案 0 :(得分:0)

我只想使用python字典,其中键是条形码,值是产品的所有价格的描述和数组。

浏览每个CSV并将产品添加到此字典中,在完成每个CSV文件的解析后,只需遍历字典并将数据输出到新的输出CSV中。