본문 바로가기
파이썬

파이썬 Compare 2 excel files using Python

by º기록 2020. 11. 4.
반응형

다음과 같이 두 개의 xlsx 파일이 있습니다.

value1   value2   value3
0.456   3.456    0.4325436
6.24654 0.235435 6.376546
4.26545 4.264543 7.2564523

value1   value2  value3
0.456   3.456    0.4325436
6.24654 0.23546  6.376546
4.26545 4.264543 7.2564523

모든 셀을 비교해야합니다. file1! = 의 셀이 file2 의 셀과 print 인 경우.

import xlrd
rb = xlrd.open_workbook('file1.xlsx')
rb1 = xlrd.open_workbook('file2.xlsx')
sheet = rb.sheet_by_index(0)
for rownum in range(sheet.nrows):
    row = sheet.row_values(rownum)
    for c_el in row:
        print c_el

file1 file2 의 비교 셀을 어떻게 추가합니까?

 

해결 방법

 

다음 접근 방식으로 시작해야합니다.

from itertools import izip_longest
import xlrd

rb1 = xlrd.open_workbook('file1.xlsx')
rb2 = xlrd.open_workbook('file2.xlsx')

sheet1 = rb1.sheet_by_index(0)
sheet2 = rb2.sheet_by_index(0)

for rownum in range(max(sheet1.nrows, sheet2.nrows)):
    if rownum < sheet1.nrows:
        row_rb1 = sheet1.row_values(rownum)
        row_rb2 = sheet2.row_values(rownum)

        for colnum, (c1, c2) in enumerate(izip_longest(row_rb1, row_rb2)):
            if c1 != c2:
                print "Row {} Col {} - {} != {}".format(rownum+1, colnum+1, c1, c2)
    else:
        print "Row {} missing".format(rownum+1)

두 파일간에 다른 셀이 표시됩니다. 주어진 두 파일에 대해 다음과 같이 표시됩니다.

Row 3 Col 2 - 0.235435 != 0.23546


print "Cell {}{}  {} != {}".format(rownum+1, xlrd.formula.colname(colnum), c1, c2)

제공 :

Cell 3B  0.235435 != 0.23546

 

참조 페이지 https://stackoverflow.com/questions/37113173

 

 

반응형

댓글