在Python中循环并比较电子表格单元格

请原谅粗糙的代码,我相信有更好的方法来完成这一点,但我是编程新手。 基本上我有一个Excel表格2填充文件,表1填充列A,表格2填充在A,B和C.我想运行通过表格1列中的所有单元格search工作表中匹配2列A并将信息从B和C复制到表1中(如果find)。 下面的代码有些作品,它复制一些数据并填充它,但是它不能正确地匹配,如果它们与前一个单元格的值相同,它似乎会跳过很多单元格。 任何帮助将不胜感激。

import openpyxl wb = openpyxl.load_workbook('spreadsheet.xlsx') sheet1 = wb.get_sheet_by_name('Sheet1') sheet2 = wb.get_sheet_by_name('Sheet2') for row in sheet1['A1':'A200']: for cell in row: obj1 = cell.value for row2 in sheet2['A1':'A2000']: for cell2 in row2: obj2 = cell2.value if obj1 == obj2: row = str(cell2.row) site = 'B' + row tic = 'C' + row sheet1[site] = sheet2[site].value sheet1[tic] = sheet2[tic].value wb.save('spreadsheet2.xlsx') 

你的问题有点不清楚,但如果我正确地理解你,这应该有所帮助:

 import openpyxl wb = openpyxl.load_workbook('spreadsheet.xlsx') sheet1 = wb.get_sheet_by_name('Sheet1') sheet2 = wb.get_sheet_by_name('Sheet2') for i in range(1, 201): if sheet1.cell(row = i, column = 1).value == sheet2.cell(row = i, column = 1).value: sheet1.cell(row = i, column = 2).value = sheet2.cell(row = i, column = 2).value sheet1.cell(row = i, column = 3).value = sheet2.cell(row = i, column = 3).value wb.save('spreadsheet2.xlsx') 

我能够通过使用.cell()方法清理代码。 如果这不是你所需要的只是评论,并告诉我你到底在做什么。 希望这可以帮助!