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

如何使用Python将1D数组写入现有Excel文件的指定单元格起始位置

Python操作现有Excel局部写入指定位置方案

前置说明

针对需要保留原有Excel所有工作表数据,仅在指定工作表的指定位置写入一维数组的需求,推荐以下两种常用实现方案,均不会覆盖其他区域的原有数据:

方案1:openpyxl实现(最稳妥,推荐)

该方案仅操作指定单元格,完全不影响其他区域内容,适配xlsx格式文件:

  • 先安装依赖:pip install openpyxl
  • 代码示例(适配示例需求:将[1,2,3,4,5]写入Sheet3的E列第10行起):
from openpyxl import load_workbook

# 加载现有Excel文件
wb = load_workbook("你的Excel文件路径.xlsx")
# 选中目标工作表
target_sheet = wb["Sheet3"]
# 待写入数组
write_arr = [1,2,3,4,5]
# 配置写入位置:E列对应列号为5(A=1、B=2以此类推),起始行号为10
col_num = 5
start_row = 10

# 循环写入数组元素
for idx, val in enumerate(write_arr):
    target_sheet.cell(row=start_row + idx, column=col_num, value=val)

# 保存修改
wb.save("你的Excel文件路径.xlsx")

方案2:pandas实现(适配已使用pandas做数据处理的场景)

如果你的数据读取、计算逻辑已经用pandas实现,可以用该方案减少代码冗余:

  • 安装依赖:pip install pandas openpyxl
  • 代码示例:
import pandas as pd

write_arr = [1,2,3,4,5]
file_path = "你的Excel文件路径.xlsx"

# 开启追加写入模式,overlay参数指定保留目标工作表原有内容
with pd.ExcelWriter(
    file_path,
    mode="a",
    engine="openpyxl",
    if_sheet_exists="overlay"
) as writer:
    # pandas的行列索引从0开始计数:E列对应startcol=4,第10行对应startrow=9
    pd.DataFrame(write_arr).to_excel(
        writer,
        sheet_name="Sheet3",
        startcol=4,
        startrow=9,
        header=False,
        index=False
    )

注意事项

上述方案仅支持xlsx格式文件,如果你使用的是xls格式(Excel 2003及更早版本),可以改用xlwings或xlutils库实现,操作逻辑一致,仅API语法存在差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:30:04