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

使用Python Openpyxl向Excel指定区域写入列表并替换指定值

解决方案

首先确保你已经安装了openpyxl库:

pip install openpyxl

以下是实现需求的完整代码,包含数据预处理和指定区域写入逻辑:

from openpyxl import load_workbook

# 替换成你的实际my_list数据
my_list = [
    ["Mon", "W", "Tue", "W", "Wed"],
    ["W", "Mon", "W", "Tue", "Wed"],
    ["Wed", "W", "Mon", "W", "Tue"],
    ["Tue", "W", "Wed", "W", "Mon"],
    ["W", "Wed", "W", "Mon", "Tue"],
    ["Mon", "W", "Tue", "Wed", "W"]
]

# 加载现有Excel文件,替换成你的文件路径
wb = load_workbook("your_file.xlsx")
# 选择目标工作表,替换成你的工作表名称
ws = wb["Sheet1"]

# 定义需要替换为None的关键词
target_words = {"Mon", "Tue", "Wed"}

# 指定写入的起止单元格对应的行列号
start_row = 3
start_col = 5  # E列对应数字5
end_row = 8
end_col = 35  # AI列对应数字35

# 遍历目标区域的每一行
for row_num in range(start_row, end_row + 1):
    # 取出my_list中对应的子列表
    current_data = my_list[row_num - start_row]
    # 遍历目标区域的每一列
    for col_num in range(start_col, end_col + 1):
        # 计算当前元素在子列表中的索引,超出长度则设为None
        data_idx = col_num - start_col
        item = current_data[data_idx] if data_idx < len(current_data) else None
        # 替换指定关键词为None
        if item in target_words:
            item = None
        # 写入单元格
        ws.cell(row=row_num, column=col_num, value=item)

# 保存修改后的文件
wb.save("your_file.xlsx")

关键说明:

  • 数据替换逻辑:通过集合判断快速匹配需要替换的关键词,将Mon/Tue/Wed直接替换为None,写入Excel后对应单元格会显示为空
  • 区域匹配校验:E3到AI8对应6行(3-8)、31列(E到AI),代码会自动匹配my_list的结构,子列表长度不足时超出列自动填充None,超出长度的元素不会写入目标区域
  • 文件操作注意:保存文件时不要打开目标Excel,否则会因文件占用报错;如果需要保留原文件,可以修改保存路径为新文件名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:10:17