2015-11-02 2 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)' будет возвращать только имена файлов внутри вашего пути. pass 'os.path.join (путь, f)' вместо f –

ответ

3

os.listdir перечисляет имена в каталог (путь), который вы указываете в качестве аргумента. Таким образом, вам нужно объединить путь и имя файла вместе, чтобы получить абсолютный путь для каждого файла. Таким образом, в вашей петле:

for filename in files: 
    abspath = os.path.join(path, filename) 
    <etc, replace f by abspath> 
Смежные вопросы