将位于包含模块的文件夹外的 Excel 文件读入 Pandas DataFrame

Read Excel file that is located outside the folder containing the module into 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 安装我发布的包后的函数时出现错误。

正确的做法是什么?也可以从安装的压缩文件夹中正常读取文件吗?

你总能做到

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

".." 将返回到当前文件夹之外,这将是一个相对引用。

您始终可以定义该文件夹的绝对路径(从 C://whatever 开始)。

这个错误可能是因为在本地执行和安装后执行的当前工作目录不同。查看 this 以概括路径而不对其进行硬编码。

您的代码应该可以工作。试试这个检查你所在的文件夹:

import os 
os.path.dirname(os.path.realpath(__file__))