【问题标题】:Compare many csv files to produce an output比较许多 csv 文件以产生输出
【发布时间】:2015-09-14 21:33:28
【问题描述】:

我正在尝试编写一个 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 中的条形码不匹配,则不会出现在输出中。

【问题讨论】:

    标签: python csv compare


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      相关资源
      最近更新 更多