在python中是否有办法使用openpyxl循环遍历2个电子表格并通过主键链接它们并找到列中的差异。以下示例使用" name"作为主键并创建具有差异的新列
示例
new.xlsx:
BOB, 1
JIM, 2
STEVE, 3
old.xlsx:
BOB, 100
STEVE, 200
results on new.xlsx:
BOB, 1, 99
JIM, 2, 0
STEVE, 3, 197
类似这样的事情
wb1 = load_workbook(r'new.xlsx')
wb2 = load_workbook(r'old.xlsx')
ws1 = wb1.get_sheet_by_name("Sheet1")
ws2 = wb2.get_sheet_by_name("Sheet1")
for rowNum in range(2, ws1.max_row):
ws1row = ws1.cell(row=rowNum, column=1).value
ws1row2 = ws1.cell(row=rowNum, column=2).value
for rowNum2 in range(2, ws2.max_row):
ws2row = ws2.cell(row=rowNum2, column=1).value
ws2row2 = ws2.cell(row=rowNum2, column=2).value
print ws2row
if ws2row == ws1row:
ws1.cell(row=rowNum, column=3).value = ws1row2 - ws2row2
wb1.save(r'new.xlsx')
答案 0 :(得分:0)
有两种可能性:
答案 1 :(得分:0)
不,在openpyxl中无法做到这一点。导入到数据库中可以避免很多麻烦。