1
我有多個文件夾,每個文件夾都包含csvs。我試圖在每個子目錄中連接csvs,然後導出它。最後,我將擁有與文件夾相同數量的輸出。最後我想有Folder1.csv,Folder2.csv,... Folder99.csv等等,這是什麼在Python中循環CSV Concat熊貓
import os
from glob import glob
import pandas as pd
import numpy as np
rootDir = 'D:/Data'
OutDirectory = 'D:/OutPut'
os.chdir(rootDir)
# The directory has folders as follows
# D:/Data/Folder1
# D:/Data/Folder2
# D:/Data/Folder3
# ....
# .....
# D:/Data/Folder99
# Each folders (Folder1, Folder2,..etc.) has many csvs.
frame = pd.DataFrame()
list_ = []
for (dirname, dirs, files) in os.walk(rootDir):
for filename in files:
if filename.endswith('.csv'):
df = pd.read_csv(filename,index_col=None, na_values=['-999'], delim_whitespace= True, header = 0, skiprows = 2)
OutFile = '%s.csv' % OutputFname
list_.append(df)
frame = pd.concat(list_)
df.to_csv(OutDirectory+OutFile, sep = ',', header= True)
我收到以下錯誤:
IOError: File file200150101.csv does not exist
當我手動它在相當短的時間內完成時間執行代碼的文件夾,現在它正在頗有幾分與循環的時間。它還在每個csv中逐行添加輸出。我沒有在上面的代碼中進行計算,但涉及到一些重新採樣。 –
你是否嘗試過用'print(os.path.join(dirname,filename))'列出循環處理的文件以檢查循環是否實際到達它們?如果是這樣,這可能是熊貓的一個問題。 – wullxz
是的,它是隨地吐痰的輸出,但它幾乎沒有爬行,我只有三個輸出在多個小時後產生 –