对比表格的python小工具
import openpyxl as xls
from openpyxl.styles import PatternFill, Color, NamedStyle
from openpyxl.styles import colors
import sys
#MAX_CMP_ROW为行对比中,最后一列的列序号,根据表格自定义
MAX_CMP_ROW=10
#比对row1和row2前n列,相同返回1,不同返回0
def is_col_equal(row1, row2, n):
k = 0
while(k < n):
if(row1[k].value != row2[k].value ):
return 0
k += 1
return 1
#配置目标sheet的名称,两个表格中应该名字相同
sheet1="Sheet 1"
#第一个参数为参照文件,第二个参数为需要处理的文件
xls_old = sys.argv[1]
xls_new = sys.argv[2]
wb_old = xls.load_workbook(filename=xls_old)
wb_new = xls.load_workbook(filename=xls_new)
sheet_old = wb_old[sheet1]
sheet_new = wb_new[sheet1]
#样式配置
bg_red = PatternFill("solid", fgColor="FF0000")
bg_green = PatternFill("solid", fgColor="00FF00")
#预处理,默认所有的行具有同样的列数,在没有数据的最后一列给出比对标记
#得到最后一列的列序号
flag_row = 1
w