我有一个文件,该文件的每个“基金”都有一个标签,这些标签在其自己的单独标签上被引用。我想将所有这些都读取到一个串联的数据框中。我使用下面的方法以非常手动的方式进行操作,但是工作表的数量可能会发生变化。
xls = pd.ExcelFile(threeDaysFile)
fund0000 = pd.read_excel(xls, 0)
fund0001 = pd.read_excel(xls, 1)
fund0002 = pd.read_excel(xls, 2)
fund0003 = pd.read_excel(xls, 3)
fund0004 = pd.read_excel(xls, 4)
all_funds = pd.concat([fund0000, fund0001,
fund0002, fund0003, fund0004])
是否有一种有效的方法将其写入上下文相关的循环中,该循环将仅引入当前文件中的所有工作表并将它们连接到主文件中?
答案 0 :(得分:3)
尝试使用xls.sheet_names
pd.concat([pd.read_excel(file_name, sheetname=x) for x in xls.sheet_names])
如果您需要数据来自哪个表
pd.concat([pd.read_excel(file_name, sheetname=x) for x in xls.sheet_names],keys=xls.sheet_names)