我有一個按大小顯示檔案的函式,但是當我嘗試將結果存盤在資料框中時,我將每個結果都放在 index=0 的行中,函式的代碼是:
def show_folders_by_size(r):
size = 0
calcul_size=[]
path=[]
for ele in os.scandir(r):
size =os.path.getsize(ele)
size=size//1048576
calcul_size.append(str(size) " Mb")
path.append(r)
e = {'chemin du dossier' : path, 'taille par Mb' : size}
df_dev_size = pd.DataFrame(e)
print(path,calcul_size)
主要是:
months = time.time()-(3*2628000)
for root, dirs, files in os.walk(root):
for dir in dirs:
if ("back" in dir):
path_back=os.path.join(root,dir)
remove_files_by_modification_time(path_back)
elif ("dev" in dir):
path_dev=os.path.join(root,dir)
show_folders_by_size(path_dev)
這是我得到的結果:
['C:\\Users\\mbarrech\\Desktop\\dossier_test\\dev'] ['360 Mb']
['C:\\Users\\mbarrech\\Desktop\\dossier_test\\back_up\\dev'] ['360 Mb']
['C:\\Users\\mbarrech\\Desktop\\dossier_test\\dev\\back\\dev'] ['0 Mb']
誰能幫我?
uj5u.com熱心網友回復:
我認為您不需要為每次迭代創建一個資料框。將結果存盤在陣列中,然后將它們轉換為單個 Dataframe,如下所示:
results = []
def show_folders_by_size(r):
// ... your function logic
results.append(dict(path=path, size=size))
一旦你的功能完成運行:
resultsDf = pd.DataFrame(results)
print(resultsDf)
干杯
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/496103.html
