我有一份清单词典:
dictofannotations = {
'5988': ['1', '1', '1', '1', '1', '1', '1', '2', '1'],
'5989': ['2', '1', '1', '1', '1', '1', '1', '1', '1'],
'5982': ['1', '1', '2', '1', '1', '1', '1', '2', '1']
}
这些字典键可以在excel文件的一列(9或J)中找到。当为字典键找到excel文档中的匹配项时,我想将列表(一个列表项添加到一个单元格)到匹配行的末尾。
我已经关闭,但无法写入工作簿。
filename = 'dataset.xlsx'
wb = load_workbook(filename)
ws = wb.get_sheet_by_name('Dataset')
for x in range(1,7582):
##7582 is the number of rows in the document, 1 should ignore the header
if ws.cell(row = x, column = 9).value in dictofannotations:
ws.append(dictofannotations[ws.cell(row = x, column = 9)])
wb.save("finaldataset.withannotations.xlsx")
答案 0 :(得分:0)
openpyxl的物理上不存在行,因此您无法将单元格附加到现有工作表。相反,您必须手动创建/覆盖单元格。
这样做的逻辑是:
if cell in dictofannotations:
values = dictofannotations[key]
for idx, value in values:
ws.cell(row=x, col=9+idx, value=value)