pandas 中将两个 DataFrame 分别导出到同一个 Excel 同一个工作表(sheet1)的 A1 单元格和 D1 单元格

pandas 中将两个 DataFrame 分别导出到同一个 Excel 同一个工作表(sheet1)的 A1 单元格和 D1 单元格。

核心说明

pandas 的DataFrame.to_excel()方法无法直接实现将多个 DataFrame 写入同一个工作表的不同位置(该方法默认一个 DataFrame 对应一个工作表,或覆盖同一工作表内容),必须借助 openpyxl 引擎(处理.xlsx 格式文件)来实现精准定位写入。

完整实现步骤

步骤 1:安装依赖库

python 复制代码
!pip install pandas openpyxl

步骤 2:完整代码实现

python 复制代码
import pandas as pd

# 1. 准备两个测试DataFrame(你可替换为自己的真实数据)
df1 = pd.DataFrame({
    '姓名': ['张三', '李四', '王五'],
    '年龄': [25, 32, 28]
})

df2 = pd.DataFrame({
    '职业': ['工程师', '教师', '医生'],
    '薪资': [15000, 8000, 20000],
    '工作年限': [5, 10, 8]
})

# 2. 创建ExcelWriter对象,指定引擎为openpyxl(关键:支持同工作表多位置写入)
with pd.ExcelWriter('result.xlsx', engine='openpyxl') as writer:
    # 3. 第一个DataFrame写入sheet1的A1单元格(startrow=0, startcol=0 对应A1,默认值可省略)
    df1.to_excel(writer, sheet_name='sheet1', 
    	startrow=0,  # 起始行索引(从0开始,0对应第1行)
		startcol=0,  # 起始列索引(从0开始,0对应A列)
		index=False  # 不写入DataFrame的行索引,根据需求可改为True
    )
    
    # 4. 第二个DataFrame写入sheet1的D1单元格(D列对应列索引3,行索引0对应第1行)
    df2.to_excel(writer,sheet_name='sheet1',
        startrow=0,  # 保持第1行(D1单元格)
        startcol=3,  # 关键:D列对应列索引3(A=0、B=1、C=2、D=3)
        index=False  # 不写入DataFrame的行索引,根据需求可改为True
    )
关键参数解释

ExcelWriterengine='openpyxl': 这是实现同工作表多位置写入的核心,openpyxl是处理.xlsx格式的专用引擎,支持工作表内的精准定位写入。

若使用.xls格式,需替换为engine='xlwt',但xlwt对新版 Excel兼容性较差,推荐优先使用.xlsx 格式。

相关推荐
时空自由民.2 小时前
vim入门配置教程
编辑器·vim·excel
_院长大人_4 小时前
Java Excel导出:如何实现自定义表头与字段顺序的完全控制
java·开发语言·后端·excel
Cloud_Shy6188 小时前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十一章 Python 包跟踪器 下篇)
前端·后端·python·数据分析·excel
asdzx6710 小时前
使用 C# 打印 Excel 文档(详细教程)
c#·excel
vennnnnnnnnnnnnn10 小时前
Excel 导入原文保留与内联排名配置问题复盘
前端·数据库·excel
anlog11 小时前
Excel返回或设置边框、字体或内部颜色
excel·背景色
工具怪12 小时前
Excel 如何加水印?4种常见使用场景与操作步骤
excel
Omics Pro1 天前
填补蛋白质组深度学习预处理教学空白
人工智能·python·深度学习·plotly·numpy·pandas·scikit-learn
写了20年代码的老程序员1 天前
Excel 导入导出为什么总是把后端逼成字段搬运工
java·excel
Cloud_Shy6181 天前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十一章 Python 包跟踪器 中篇)
数据库·python·sql·数据分析·excel·web