使用Python将多个excel文件导入datafram

2024-03-29 10:24:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想遍历一个目录,找到特定的xlsx文件,然后将它们分别放入单独的pandas数据帧中。这里的问题是,我还希望那些excel文件中的所有工作表都在数据框中。在

下面是我实现的代码示例,我只需要添加逻辑来选择所有工作表:

import pandas as pd
from glob import glob

path = 'path_to_file'

files = glob(path + '/*file*.xlsx')

get_df = lambda f: pd.read_excel(f)

dodf = {f: get_df(f) for f in files}

dodf[files[2]] --- dictionary of dataframes 

Tags: 文件数据pathimport目录pandasdfget
1条回答
网友
1楼 · 发布于 2024-03-29 10:24:04

如Pandas中的this answer所述,您仍然可以访问ExcelFile类,该类加载创建对象的文件。在

此对象有一个.sheet_names属性,该属性提供当前文件中的工作表名称列表。在

xl = pd.ExcelFile('foo.xls')
xl.sheet_names  # list of all sheet names

要实际处理特定工作表的导入,请在导入的Excel文件的对象上使用.parse(sheet_name)

^{pr2}$

对于您的代码,例如:

get_df = lambda f: pd.ExcelFile(f)
dodf = {f: get_df(f) for f in files}

…给您dodf一个ExcelFile对象的字典。在

filename = 'yourfilehere.xlsx'
a_valid_sheet = dodf[filename].sheet_names[0] # First sheet
df = dodf[filename].parse(sheet_name)

相关问题 更多 >