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 格式。

相关推荐
CircleMouse2 小时前
如何设置wps单元格下拉选项设置
excel·wps
zhangjin12227 小时前
kettle插件-excel插件,kettle读取excel动态表头,kettle根据列名读取excel
excel·kettle·kettle excel插件·kettle 动态excel
远洪1 天前
excel 找出两列不同的数据
excel
pcplayer1 天前
非常好用的 Excel 读写控件
excel·delphi·office
Navicat中国1 天前
使用 Navicat 导入向导导入 Excel 数据时,系统提示导入成功,表中也能看到数据,但行数统计显示为 0,这是什么原因?
数据库·excel·导入
穿着内裤的外星人1 天前
触控精灵远程读写Excel步骤配置
excel
是孑然呀1 天前
【小记】excel vlookup一对多(第二篇)
excel
开开心心就好1 天前
专为视障人士设计的免费辅助工具
windows·计算机视觉·计算机外设·excel·散列表·推荐算法·csdn开发云
transformer_WSZ1 天前
excel两列数据绘制折线图
excel·折线图
蒋胜山2 天前
Excel 练习题(5)
经验分享·excel