2015-11-02 234 views
2

我想打開多個Excel文件。我的程序會拋出錯誤消息「FileNotFoundError」。該文件存在於目錄中。打開多個CSV文件

下面是代碼:

import os 
import pandas as pd 

path = "C:\\GPA Calculations for CSM\\twentyfourteen" 
files = os.listdir(path) 
print (files) 

df = pd.DataFrame() 

for f in files: 
     df = pd.read_excel(f,'Internal', skiprows = 7) 
     print ("file name is " + f) 
     print (df.loc[0][1]) 
     print (df.loc[1][1]) 
     print (df.loc[2][1]) 

計劃給出了df = pd.read_excel(f,'Internal', skiprows = 7)錯誤。

我在另一個程序(打開單個文件)上打開了相同的文件,並且工作正常。任何建議或意見將不勝感激。

+0

你的路徑文件夾中的所有文件都是優秀的並且每個都具有相同的結構? – Scott

+0

你能顯示你收到的特定錯誤信息嗎?我想排除你指向錯誤的文件路徑的可能性。在實例化數據框之前,嘗試添加「assert os.path.exists(f)」行。看看是否給你一個錯誤。 –

+0

'os.listdir(path)'將只返回路徑內的文件名。通過'os.path.join(path,f)'而不是f –

回答

3

os.listdir列出文件名相對到您作爲參數提供的目錄(路徑)。因此,您需要一起加入路徑和文件名以獲取每個文件的絕對路徑。因此,在你的循環中:

for filename in files: 
    abspath = os.path.join(path, filename) 
    <etc, replace f by abspath>