[英]Python | Combine multiple csv (100+) files from one folder taking csv header into consideration
[英]Python read 100+ CSV files and return sum of a column from each CSV file into a new csv
我在同一個文件夾中有 100 多個 CSV 文件。 我正在嘗試讀取所有沒有任何序列格式的文件,除了所有文件都以“AB_”開頭。 我不希望連接所有這些文件,因為這些文件最初來自使用 Python 按 ID 拆分的巨大文件。 我正在嘗試驗證所有這些文件的總和是否正確。 這些文件的格式如下:
ID country amount
1234 Malaysia 30
1234 Malaysia 80
....
所有文件都有不同的行數,ID 列只有 1 個不同的 ID。 I wish to have a CSV file created to summarize all these CSV files by having output as below (each row shows summary from each CSV file from the folder):
ID sum_amount
1234 110
2345 88
...
請幫忙! 謝謝!
我正在嘗試讀取所有沒有任何序列格式的文件,除了所有文件都以“AB_”開頭。
pathlib
可以幫助您生成此文件列表。
獲得文件名列表后,解決此問題的一個簡單方法是open
每個文件,逐行遍歷它,然后按ID
累積sum_amount
。 您可以使用字典按ID
存儲到該點的總sum_amount
。 一旦字典完成(即您遍歷了所有文件),您將把它寫入 output 文件(您可以使用字典的items
方法來獲取可以迭代的鍵值元組列表)。
請注意,此問題不需要您串行處理任何內容:如果您可以並行遍歷文件,則可以計算文件級總計,然后將這些部分總計聚合為結果集的總計。 如果您需要經常解決這個問題,您可以使用 map-reduce 方法來解決這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.