如何使用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
相关产品推荐
相关产品推荐

