如何在Python中将文件夹内多个Excel文件读取为同名DataFrame?
读取多Excel文件为同名DataFrame
直接用字典存储每个DataFrame是最稳妥的方式,既能通过原文件名快速访问,也能避免变量名冲突。完整可运行代码如下:
import os import glob import pandas as pd # 目标文件夹路径 folder_path = r'C:\Working\Test' # 匹配文件夹下所有xlsx格式文件 excel_files = glob.glob(os.path.join(folder_path, "*.xlsx")) # 创建字典存储DataFrame,键为原文件名(不含后缀) df_dict = {} for file in excel_files: # 提取纯文件名(去掉路径和.xlsx后缀) file_name = os.path.splitext(os.path.basename(file))[0] # 读取Excel文件到DataFrame df = pd.read_excel(file) # 将DataFrame存入字典,用文件名做键 df_dict[file_name] = df
补充说明
- 调用DataFrame时,直接用
df_dict["文件名"]即可,比如原文件是sales_data.xlsx,就用df_dict["sales_data"]访问对应的数据集。 - 如果非要生成独立变量(不推荐,文件多了易混乱),可以用
globals()动态创建:
这样会直接生成如for file in excel_files: file_name = os.path.splitext(os.path.basename(file))[0] globals()[file_name] = pd.read_excel(file)sales_data这类同名变量,但文件数量多的时候不利于管理,优先推荐字典存储方式。
原代码问题排查
你之前的代码仅完成了匹配文件路径的步骤,没有执行读取Excel、创建DataFrame的核心操作,所以无法得到预期结果。
内容的提问来源于stack exchange,提问作者rprogrammer
相关产品推荐
相关产品推荐

