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

相关推荐
留白_12 小时前
pandas文件读取与存储
开发语言·python·pandas
技术小甜甜14 小时前
[办公效率] Excel 表格越做越乱,先整理字段、格式还是公式?
数据库·excel·办公效率·数据整理
SunnyDays101115 小时前
如何使用 C# 自动调整 Excel 行高和列宽
开发语言·c#·excel
SilentSamsara15 小时前
特征工程系统方法论:编码、分箱、交互特征与特征选择
开发语言·人工智能·python·机器学习·青少年编程·信息可视化·pandas
itgather16 小时前
OfficeExcel — Word / Excel DLL 验证台功能介绍
c#·word·excel
葡萄城技术团队16 小时前
【SpreadJS 新版本特性揭秘】完美对齐 Excel 365:V19.1 单元格内嵌图片架构解析
excel
qq_4221525716 小时前
Excel 转 CSV 工具怎么选?格式兼容、编码问题与数据导出方案实测
excel
҉人间无事人16 小时前
wps中excel跨表通过匹配数据取其他值
excel·wps
sbjdhjd16 小时前
04 (下) | K8S微服务实战:从 Service 到金丝雀发布
运维·微服务·云原生·kubernetes·开源·云计算·excel
一晌小贪欢17 小时前
第22节:相关性分析——协方差、相关系数与热力图解读
开发语言·python·数据分析·pandas·数据可视化