如何用Pandas批量读取Excel文件并迭代创建同名DataFrame?
实现将Excel文件转为对应名称的独立DataFrame
方法1:直接生成全局变量(快速满足需求)
遍历你已经生成的d_names字典,用globals()函数把每个Excel文件读取成对应名称的DataFrame:
import pandas as pd for df_name, file_path in d_names.items(): globals()[df_name] = pd.read_excel(file_path)
运行这段代码后,就能直接用df_a、df_b这些变量,每个变量对应读取好的Excel数据。
方法2:更推荐的管理方式——存入字典
直接创建全局变量虽然省事,但实际项目里把所有DataFrame放在一个字典里会更方便管理,还能避免变量名冲突:
dfs = {} for df_name, file_path in d_names.items(): dfs[df_name] = pd.read_excel(file_path)
之后要访问数据的话,用dfs['df_a']、dfs['df_b']就行,这种方式更符合Python的编程习惯。
额外优化:简化最初的文件名提取代码
你之前的文件名提取步骤可以合并成一行,让整个流程更简洁:
import glob import os import pandas as pd path = 'c:/files/*.xlsx' # 直接生成DataFrame名称和文件路径的映射字典 d_names = {f"df_{os.path.splitext(os.path.basename(file))[0]}": file for file in glob.glob(path)} # 生成独立DataFrame(用方法1的代码) for df_name, file_path in d_names.items(): globals()[df_name] = pd.read_excel(file_path)
内容的提问来源于stack exchange,提问作者Mohammad.sh
相关产品推荐
相关产品推荐

