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 小时前
EasyExcel根据动态字段,进行导出excel文件
java·前端·excel
辣机小司2 小时前
【踩坑记录:EasyExcel 生产级实战:策略模式重构与防御性导入导出校验指南(实用工具类分享)】
java·spring boot·后端·重构·excel·策略模式·easyexcel
傻啦嘿哟1 天前
Python实现Excel数据自动化处理:从繁琐操作到智能流程的蜕变
python·自动化·excel
jarreyer2 天前
python,numpy,pandas和matplotlib版本对应关系
python·numpy·pandas
hqyjzsb2 天前
从爱好到专业:AI初学者如何跨越CAIE认证的理想与现实鸿沟
大数据·c语言·人工智能·信息可视化·职场和发展·excel·业界资讯
写代码的【黑咖啡】2 天前
Python中的Pandas:数据分析的利器
python·数据分析·pandas
vfvfb2 天前
excel对比找不同人名 双xlsx双列对比
excel·excel多列对比
課代表3 天前
Excel VBA 为数据赋予随机浅色标记
excel·vba·可视化·条件格式·标记·对比·随机
kylezhao20193 天前
C#上位机开发数据持久化:excel报表导入导出
开发语言·c#·excel