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

如何使用openpyxl将列表数据写入Excel指定非连续列

解决方案

append()方法默认从当前行的A列开始按顺序写入传入的序列元素,无法实现跳列填充的需求,你可以通过直接给指定单元格赋值的方式实现需求。

修正后完整代码

import openpyxl

path = r"C:\Folder\Filename.xlsx"
# 修正原代码遗漏的openpyxl模块前缀
wb = openpyxl.load_workbook(path)
# 替换为你实际使用的工作表名称
sheet_name = "Sheet1"
sheet = wb[sheet_name]
# 避免用list作为变量名(会覆盖Python内置list类型),字符串内容需要加引号
data_list = ["Apple", "Pear", "Fruit"]
# 定义写入的目标行号,openpyxl行号/列号均从1开始计数,此处示例为写入第2行
target_row = 2
# 建立元素对应目标列的映射:A列对应1、C列对应3、F列对应6
col_mapping = [1, 3, 6]

for val, col in zip(data_list, col_mapping):
    sheet.cell(row=target_row, column=col, value=val)

# 必须执行保存操作,修改才会写入本地文件
wb.save(path)

核心修改说明

  • 放弃append()方法,改用sheet.cell()直接对指定行、列的单元格赋值,支持任意列的位置写入
  • 通过映射列表匹配元素和目标列的对应关系,循环完成批量赋值
  • 修复了原代码中load_workbook调用错误、变量名不规范、字符串未加引号的问题
  • 新增文件保存步骤,确保修改生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:30:00