如何用Openpyxl将列表写入Excel指定单元格?现有代码失效求助
解决方法
你的代码存在几个关键问题:ws.append() 会在工作表末尾追加整行数据,而非写入指定单元格;循环范围错误导致覆盖行数不对;嵌套循环逻辑完全不符合需求。
以下是正确实现代码:
from openpyxl import load_workbook # 加载现有工作簿 wb = load_workbook('test.xlsx') # 选中目标工作表 ws = wb['12Channel'] mv = ['200', '200', '4000', '400', '600', '700'] # 遍历行号14到19(range右开,所以写20),同时获取列表对应索引 for row_num, value in zip(range(14, 20), mv): # F列对应column=6,写入对应值 ws.cell(row=row_num, column=6, value=value) # 务必保存修改后的工作簿 wb.save('test.xlsx')
关键说明
- 使用
ws.cell(row=行号, column=列号, value=值)精准定位单元格并写入数据,F列的列索引是6。 range(14,20)会生成14、15、16、17、18、19这6个行号,正好对应列表的6个元素。- 操作完成后必须调用
wb.save()才能将修改写入到文件,原代码缺少这一步。
内容的提问来源于stack exchange,提问作者Keeno Glanville
相关产品推荐
相关产品推荐

