我目前正在嘗試做一些非常基本的事情:計算 .csv 檔案中兩個單元格的總和并將其輸出到新的 DataFrame 中。然后,我對該 .csv 檔案中的多行以及檔案夾中的多個檔案重復此操作。畢竟,我將 DataFrame 輸出到 .xlsx 檔案。代碼主體如下:
for fname in glob.glob(path):
print(fname)
processed = []
df = pd.read_csv(fname)
for index, row in df.iterrows():
processed.append(row['Rejected'] row['Sorted'])
heatMap[str(counter)] = processed
counter = 1
newfname = 'Output.xlsx' heatMap.to_excel(newfname)
但是,當我查看我新創建的 DataFrame 時,這些列是亂序的。檢查控制臺,我可以看到檔案按字母數字順序迭代。
控制臺輸出
我想知道如何調整我的方法,以便我可以按自然排序順序(1、2、3、4、5 等)遍歷檔案,這樣我就不必更改每個檔案的名稱。
謝謝!
uj5u.com熱心網友回復:
for fname in sorted(glob.glob(path)):
...
這使得 glob 迭代成為一個串列,以便我們可以使用 pythonsorted關鍵字對其進行排序。然后,您可以按字母順序回圈瀏覽它。
對于自然排序,有一個natsort包。
from natsort import natsorted
for fname in natsorted(glob.glob(path)):
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/415588.html
標籤:
上一篇:Nan值沒有被替換
