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

如何使用openpyxl将字典数据写入Excel匹配行的指定列

实现代码

你可以直接遍历工作表A列的单元格,同步获取单元格对应行号完成匹配写入,修改后的可运行代码如下:

from openpyxl import load_workbook

my_dict = {
    'Agriculture': 'ET_SS_Agriculture',
    'Dance': 'ET_FA_Dance',
    'Music': 'ET_FA_Music'
}

wb = load_workbook("/Users/administrator/Downloads/Book2.xlsx")
ws = wb['Sheet1']

# 遍历A列所有单元格
for a_cell in ws['A']:
    # 跳过空值避免匹配报错
    if not a_cell.value:
        continue
    # 遍历字典匹配关键词
    for k, v in my_dict.items():
        if k in str(a_cell.value):
            # 向同一行的C列(列序号为3)写入对应value
            ws.cell(row=a_cell.row, column=3, value=v)
            # 匹配到就跳出循环,避免单单元格匹配多个key时被覆盖
            break

# 保存修改到文件,缺少这步修改只会保留在内存中不会生效
wb.save("/Users/administrator/Downloads/Book2.xlsx")

原代码问题说明

你之前的写法只提取了A列的数值存为列表,丢失了每个数值对应的行号信息,因此无法定位到对应C列的行位置写入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:45:08