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

相关推荐
Non-existent98714 天前
WPS批量清理单元格空白字符的4种方法-异常数字格式处理-实战
excel·wps
Channing Lewis14 天前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel
jarreyer14 天前
【数据分析绘图】excel绘图和bi工具区别
数据挖掘·数据分析·excel
chatexcel14 天前
ChatExcel Max使用教程:图片、PDF、网页与复杂Excel的一站式数据分析
数据分析·pdf·excel
cngkqy14 天前
excel从某一列中用match筛选匹配的数据
excel
qq_5469372714 天前
Excel批量转PDF_Word_图片,支持自动合并报表,效率翻倍。
pdf·word·excel
ai_coder_ai14 天前
在自动化脚本中操作excel文件
运维·自动化·excel
三千花灯14 天前
【Playwright】 自动化测试之参数化登录(Excel/CSV 数据源)
人工智能·机器学习·excel
罗政14 天前
AI工作流实现Excel全自动化(支持SQL)-案例:医院门诊排班表
人工智能·自动化·excel
小妖66614 天前
excel 怎么在单元格内容自动加上一段文字不能用公式
excel·vba