Python 使用openpyxl比较两个excel文件

Python 使用openpyxl比较两个excel文件,python,excel,openpyxl,Python,Excel,Openpyxl,我正在比较两个列数和行数不同的excel文件。我需要在列中搜索特定的值,但我无法这样做,因为我是python新手。 这是我的代码: import openpyxl from openpyxl import Workbook wk1= openpyxl.load_workbook("Condition.xlsx") wk2= openpyxl.load_workbook("Database.xlsx") sh1 = wk1['Sheet1'] sh2 =wk2['Sheet1'] rows1 =

我正在比较两个列数和行数不同的excel文件。我需要在列中搜索特定的值,但我无法这样做,因为我是python新手。 这是我的代码:

import openpyxl
from openpyxl import Workbook
wk1= openpyxl.load_workbook("Condition.xlsx")
wk2= openpyxl.load_workbook("Database.xlsx")
sh1 = wk1['Sheet1']
sh2 =wk2['Sheet1']
rows1 = sh1.max_row
columns1 = sh1.max_column
rows2 = sh2.max_row
columns2 = sh2.max_column




 for i in range(2,rows2):
     c = sh1.cell(2,1).value
     if sh2.cell(i,2).value==c:
         if sh2.cell(i,3).value== 'Credit' and sh1.cell(i,3).value=='UWCC_A':
             print(sh2.cell(i,3).value)
         else:    
             print(1)   



Excel1 :

C1    C2   C3       
mike  U_11 Baseball
john  U_12 cricket
sam   U_12 Handball

Excel 2

C1    C2  C4
mike  U_11  ABC
mike  U_11  XYZ
mike  U_11  EUE
mike  U_11  PIJ

也可以使用单元格“A2”从单元格中读取。值

着色细胞:

from openpyxl.styles import Color, PatternFill, Font, Border, colors

green = (0, 192, 0)

def iter_to_hex(x):

    #X is upper, x is lower
    return ''.join(["{:02X}".format(_) for _ in x])

print(iter_to_hex(green))

fill_green = PatternFill('solid',
                         start_color=iter_to_hex(green),
                         end_color=iter_to_hex(green))

wc = ws.cell(row=_r, column=_c)

 if _res['result']:

    wc.value = 'Something'
    wc.fill = fill_green

什么不起作用?找不到匹配的单元格?这不是应该是i c=sh1.cell2,1.value两张表中的值是否位于完全相同的位置?如果没有,则需要另外一个或两个嵌套for循环来遍历另一个工作表。@joe我需要检查工作表中列中的特定值,并将其与其他工作表中另一列的值进行比较sheet@joe一张excel表格是另一张表格的子集Hey@Joe你能写代码吗,这就是我如何迭代excel 2中的列并从excel 1中找到所需的值