[英]Loop using to_csv only printing last file (Python)
我正在嘗試從文件夾中加載多個 csv 文件,使用計算每個文件缺失值的函數,然后保存包含輸出的新 csv 文件。 當我編輯腳本以打印輸出時,我得到了預期的結果。 但是,循環只會將最后一個文件保存到目錄中。 我正在使用的代碼是:
from pathlib import Path
import pandas as pd
import os
import glob
files = glob("C:/Users/61437/Desktop/test_folder/*.csv") # get all csv's from folder
n = 0
for file in files:
print(file)
df = pd.read_csv(file, index_col = False)
d = calc_missing_prices(df) # calc_missing_prices is a user defined function
print(d)
d.to_csv(r'C:\Users\61437\Desktop\test_folder\derived_files\derived_{}.csv'.format(n+1), index = False)
print() 命令返回預期的輸出,對於我的數據是:
C:/Users/61437/Desktop/test_folder\file1.csv
V_150 V_200 V_300 V_375 V_500 V_750 V_1000
0 3.00 2.75 4.50 6.03 8.35 12.07 15.00
1 2.32 3.09 4.63 5.00 9.75 12.50 12.25
2 1.85 2.47 3.70 4.62 6.17 9.25 12.33
3 1.75 2.00 4.06 6.50 6.78 10.16 15.20
C:/Users/61437/Desktop/test_folder\file2.csv
V_300 V_375 V_500 V_750 V_1000
0 4.00 4.50 6.06 9.08 11.00
1 3.77 5.00 6.50 8.50 12.56
2 3.00 3.66 4.88 7.31 9.50
C:/Users/61437/Desktop/test_folder\file3.csv
V_500 V_750 V_1000
0 5.50 8.25 11.00
1 6.50 8.50 12.17
2 4.75 7.12 9.50
但是,唯一保存的 csv 文件是“衍生_1.csv”,其中包含 file3.csv 的輸出
我在做什么阻止創建所有三個文件?
您沒有在循環內增加n
。 您的數據存儲在文件derived_1.csv
,每次迭代都會覆蓋該文件。 for
循環執行完畢后,將只保存最后一個 csv。
在for
循環中包含行n += 1
以在每次迭代時將其增加 1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.