在目录中查找 xlsx 并将工作表分配给不同的数据帧 - Python

Find xlsx in a directory and assign the sheets to different dataframes - Python

这里是初级开发人员。

我的目标是从 1 个 Excel 文件中的 4 个不同工作表创建 4 个不同的 dfs,其名称可能因创建的更新版本而异。

这是我的尝试。

import pandas as pd, glob

# Finds the target file in local directory
excel_file = glob.glob('file_v*.xlsx')

# Assigns specific sheet from Excel file to df
hr_df = pd.read_excel(open(excel_file, 'rb'), sheet_name='HR')
title_df = pd.read_excel(open(excel_file, 'rb'), sheet_name='Job_Family')
vendor_df = pd.read_excel(open(excel_file, 'rb'), sheet_name='Vendors')
dept_df = pd.read_excel(open(excel_file, 'rb'), sheet_name='Departments')

我遇到的错误如下。我知道我不能传递路径对象。 我对如何将递归搜索连接到打开和分配我的 dfs 感到困惑。

TypeError: expected str, bytes or os.PathLike object, not list

如有任何建议和解释,我们将不胜感激。 谢谢!

试试这个:

import pandas as pd, glob

# Finds the target file in local directory
excel_file = glob.glob('file_v*.xlsx')[0]

# Assigns specific sheet from Excel file to df
f = open(excel_file, 'rb')
hr_df = pd.read_excel(f, sheet_name='HR')
title_df = pd.read_excel(f, sheet_name='Job_Family')
vendor_df = pd.read_excel(f, sheet_name='Vendors')
dept_df = pd.read_excel(f, sheet_name='Departments')

f.close()