簡體   English   中英

Python 讀取 100+ 個 CSV 文件並將每個 CSV 文件中的列總和返回到新的 Z628ZCB75675FFE8AFEB73F

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM