Прочитайте файл Excel, который находится за пределами папки, содержащей модуль, в Pandas DataFrame.

Я хочу прочитать файл excel в pandas DataFrame. Модуль, из которого я хочу прочитать файл, называется inputs.py, а файл excel (schoolsData.xlsx), который я хочу прочитать, находится вне папки, содержащей модуль. Я делаю это так в своем коде

def read_data_excel(path):
    df_file = pd.read_excel(path)
    return df_file
    
school_data = read_data_excel('../schoolsData.xlsx')

Ошибка: Нет такого файла или каталога: '../schoolsData.xlsx'

Странно то, что он отлично работает, когда я запускаю функцию, содержащую этот код, локально, но я получаю сообщение об ошибке, когда запускаю функцию после установки моего опубликованного пакета из PyPi.

Как правильно это сделать? Также можно ли нормально прочитать файл из установленного дистрибутива, который представляет собой сжатую папку?

введите здесь описание изображения


person PsyLogic    schedule 19.02.2021    source источник
comment
Он должен работать. Вы уверены, что находитесь в том каталоге, о котором думаете?   -  person gtomer    schedule 19.02.2021


Ответы (3)


Ваш код должен работать. Попробуйте это, чтобы проверить папку, в которой вы находитесь:

import os 
os.path.dirname(os.path.realpath(__file__))
person gtomer    schedule 19.02.2021

Ошибка может возникнуть из-за того, что текущий рабочий каталог отличается при выполнении локально, чем при выполнении после установки. Взгляните на это, чтобы обобщить путь без жестко запрограммировать это.

person Jesus Sono    schedule 19.02.2021

Вы всегда можете сделать

df_file = pd.read_excel("../schoolsData.xlsx")

.. вернется за пределы текущей папки, и это будет относительная ссылка.

Вы также всегда можете указать абсолютный путь к этой папке (который начинается с C://независимо).

person pregenRobot    schedule 19.02.2021
comment
Это именно то, что я делаю, и я получаю сообщение об ошибке. Пожалуйста, проверьте мой вопрос - person PsyLogic; 19.02.2021