Python 导入excel工作簿中的每个工作表,并保存到以工作表名称命名的数据框中

Python 导入excel工作簿中的每个工作表,并保存到以工作表名称命名的数据框中,python,excel,pandas,loops,import,Python,Excel,Pandas,Loops,Import,我有一个excel工作簿,有3张工作表,分别称为“Z_分数”、“Alpha”和“Rho” 将来,此工作簿将随着模型数量及其相应参数存储在此处而增加 在我的函数中,我希望分别导入每个工作表并将其保存到数据框中,数据框的名称应由工作表的名称决定 到目前为止,我有这个函数,但我不能动态命名数据帧,我不确定应该在return语句中写什么 仅供参考:导入标识符功能只是扫描工作表名称的一种方式,不应插入带有标识符的工作表名称,例如,在工作表名称的开头放置一个空格将阻止导入工作表 #导入库 作为pd进口熊猫

我有一个excel工作簿,有3张工作表,分别称为“Z_分数”、“Alpha”和“Rho”

将来,此工作簿将随着模型数量及其相应参数存储在此处而增加

在我的函数中,我希望分别导入每个工作表并将其保存到数据框中,数据框的名称应由工作表的名称决定

到目前为止,我有这个函数,但我不能动态命名数据帧,我不确定应该在return语句中写什么

仅供参考:导入标识符功能只是扫描工作表名称的一种方式,不应插入带有标识符的工作表名称,例如,在工作表名称的开头放置一个空格将阻止导入工作表

#导入库
作为pd进口熊猫
#定义函数
def导入excel(文件名、导入标识符):
#创建excel的数据框架
df=pd.read\u excel('excel.xlsx')
#这将把第一张纸读入df
xls=pd.ExcelFile('Excel.xlsx')
#删除所有以导入标识符开头的工作表
工作表=[]
对于所有工作表中的x:
如果x[0]!=导入\u标识符:
工作表。附加(x)
#循环浏览标记为导入的图纸,然后导入每个图纸
#将数据表单独放入一个数据框中
对于工作表中的sheetname:
#将sheetname用引号括起来,以满足read_excel中的sheetname函数
sheetname_宏_str='{}'.格式(sheetname_宏)
#导入工作簿并保存到动态命名的dataframe
sheetname\u macro=pd.read\u excel(xls,sheetname=sheetname\u macro\u str)
#我在这里返回什么,如何确保存储数据帧?
#返回
如您所知,数据帧对象不能可靠地“命名”。通常,对象被分配到的Python变量将描述或区分它

如果希望在代码中存储对多个数据帧的引用,可能需要为此创建一个列表、元组或字典(在导入函数的范围之外)。如果使用字典,则可以使用工作表名称作为关键字:

dataframes = {}
dataframes[friendly_sheetname] = dataframe_from_sheet

可能的重复请参见上面链接的第二个答案。