Compare 2 excel files using Python(使用 Python 比较 2 个 excel 文件)
问题描述
我有两个 xlsx
文件如下:
I have two xlsx
files as follows:
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
那.
I need to compare all cells, and if a cell from file1 !=
a cell from file2
print
that.
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
的比较单元格?
How can I add the comparison cell of file1
and file2
?
推荐答案
以下方法应该可以帮助您入门:
The following approach should get you started:
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)
这将显示两个文件之间不同的任何单元格.对于您给定的两个文件,这将显示:
This will display any cells which are different between the two files. For your given two files, this will display:
Row 3 Col 2 - 0.235435 != 0.23546
如果您更喜欢单元格名称,请使用 xlrd.formular.colname()
:
If you prefer cell names, then use xlrd.formular.colname()
:
print "Cell {}{} {} != {}".format(rownum+1, xlrd.formula.colname(colnum), c1, c2)
给你:
Cell 3B 0.235435 != 0.23546
这篇关于使用 Python 比较 2 个 excel 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 Python 比较 2 个 excel 文件
基础教程推荐
- 用于分类数据的跳跃记号标签 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 筛选NumPy数组 2022-01-01