You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中将DataFrame数据写入Excel指定单元格?

Pandas指定DataFrame写入Excel的具体单元格方法

直接使用df.to_excel("output.xlsx")的参数只能设置整个DataFrame的起始单元格(通过startrow和startcol参数),无法单独指定每一行的写入位置。要实现行1写入A1、行2写入A4这类分散位置的需求,需要借助pd.ExcelWriter配合支持精准写入的引擎(如openpyxl或xlsxwriter),以下是具体实现方式:

方法1:用openpyxl引擎逐行指定起始位置

先确保安装openpyxl:

pip install openpyxl

示例代码:

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({
    'Col1': ['Data1', 'Data2'],
    'Col2': ['Value1', 'Value2']
})

with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer:
    # 第一行写入A1(startrow=0对应Excel第1行,startcol=0对应A列)
    df.iloc[[0]].to_excel(writer, startrow=0, startcol=0, index=False, header=False)
    # 第二行写入A4(startrow=3对应Excel第4行)
    df.iloc[[1]].to_excel(writer, startrow=3, startcol=0, index=False, header=False)
  • iloc[[0]]提取DataFrame的第一行,index=False和header=False避免写入索引和表头
  • startrow和startcol是0-based索引,对应Excel中行/列的1-based编号减1

方法2:用xlsxwriter引擎直接写入指定单元格

先确保安装xlsxwriter:

pip install xlsxwriter

示例代码:

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({
    'Col1': ['Data1', 'Data2'],
    'Col2': ['Value1', 'Value2']
})

with pd.ExcelWriter('output.xlsx', engine='xlsxwriter') as writer:
    worksheet = writer.sheets['Sheet1']
    # 直接指定Excel单元格坐标写入整行
    worksheet.write_row('A1', df.iloc[0].tolist())
    worksheet.write_row('A4', df.iloc[1].tolist())
  • write_row方法支持直接使用Excel风格的单元格坐标(如'A1'),将行数据转为列表后写入

内容的提问来源于stack exchange,提问作者joeinreallife

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 05:27:28