You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将不同列的多个DataFrame分别导出至Excel不同工作表

将不同列名的DataFrame导出到Excel不同工作表

直接用pd.concat会合并所有列,显然不符合你的需求。正确做法是使用pandas.ExcelWriter,它可以把多个DataFrame分别写入同一个Excel文件的不同工作表,每个表保留自己的列结构。

完整实现代码

import pandas as pd
import numpy as np

# 定义列名列表
column = [["Banana","apple"],
          ["Banana","Grape"],
          ["Apple","Pizza"]]

# 存储每个生成的DataFrame,避免循环中被覆盖
dfs = {}
for i in range(3):
    # 修正数据列数,匹配对应列名的长度
    random_data = np.random.randint(10,25,size=(5, len(column[i])))
    df = pd.DataFrame(random_data, columns=column[i])
    # 给工作表命名,比如Sheet_1、Sheet_2、Sheet_3
    dfs[f"Sheet_{i+1}"] = df

# 写入Excel文件
with pd.ExcelWriter("output.xlsx") as writer:
    for sheet_name, df in dfs.items():
        df.to_excel(writer, sheet_name=sheet_name, index=False)

关键说明

  • 用字典dfs存储每个DataFrame,避免循环中每次赋值覆盖之前的结果
  • pd.ExcelWriter作为上下文管理器,能高效处理多工作表写入,同时保证文件正确关闭
  • index=False可以避免导出DataFrame的索引列,根据需求可选择保留
  • 修正了原代码中数据列数与列名长度不匹配的问题,避免创建DataFrame时出错

内容的提问来源于stack exchange,提问作者Megan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 04:24:32