如何批量从多个Excel工作簿提取指定工作表并按规则命名DataFrame
解决方案
在你现有代码的基础上追加以下逻辑即可完成需求:
# 配置项:替换为你实际需要提取的目标工作表名称 TARGET_SHEET = 'Pizza' # 推荐使用字典存储所有生成的DataFrame,便于后续批量处理 df_collection = {} for file_path in db_list: # 提取不带路径、不带后缀的纯文件名 file_base_name = ntpath.basename(file_path).rsplit('.', 1)[0] # 按下划线分割取第一部分作为品牌标识 brand = file_base_name.split('_')[0] # 按规则生成DataFrame名称 df_name = f"{TARGET_SHEET}_{brand}" # 读取指定工作表为DataFrame current_df = pd.read_excel(file_path, sheet_name=TARGET_SHEET) # 存入字典 df_collection[df_name] = current_df # 若需要直接生成独立的全局变量(不推荐,不利于批量遍历操作),取消注释下行代码即可 # globals()[df_name] = current_df # 验证输出:打印所有已生成的DataFrame名称 print("已完成提取的DataFrame列表:") for df_key in df_collection.keys(): print(f"- {df_key}")
注意事项
- 若Excel文件存在表头合并、首行空行等特殊格式,可给
pd.read_excel方法添加header、skiprows等参数调整读取规则 - 字典存储模式下,要调用对应DataFrame直接使用
df_collection['Pizza_Coke']格式即可 - 开启全局变量模式后,可直接通过
Pizza_Coke这类命名直接调用对应数据
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

