반응형
다음과 같이 두 개의 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
반응형
'파이썬' 카테고리의 다른 글
파이썬 How to upload a file to Google Cloud Storage on Python 3? (0) | 2020.11.04 |
---|---|
파이썬 What to download in order to make nltk.tokenize.word_tokenize work? (0) | 2020.11.04 |
파이썬 사전에서 무작위로 하나의 키를 선택하는 방법 (0) | 2020.11.04 |
파이썬 Python에서 CSV에서 배열로 변환 (0) | 2020.11.04 |
파이썬에서 추상 클래스와 인터페이스의 차이점 (0) | 2020.11.04 |
댓글