当前位置: 首页 > 面试题库 >

使用Python比较2个Excel文件

魏刚豪
2023-03-14
问题内容

我有两个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

如何添加的比较电池file1file2


问题答案:

以下方法应该可以帮助您入门:

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

如果您更喜欢单元格名称,请使用xlrd.formular.colname()

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

给你:

Cell 3B  0.235435 != 0.23546


 类似资料:
  • 问题内容: 我有2个excel文件,我想比较内容并突出显示差异。例如: 第一个档案… 有没有第三方图书馆可以做到这一点?或最好的方法是什么? 问题答案: 就像DaDaDom所说的那样,Apache POI是您想要的。您可以从此页面下载它。请注意,POI项目不是完全独立的,您可能需要下载一些额外的库。请遵循Apache POI网站上的说明。这是您的用法: 如果这是一个新文件,则可能需要先创建图纸才能

  • 问题内容: 我正在尝试使用difflib为包含推文的两个文本文件生成diff。这是代码: 这是文本文件: 这是文本文件: 这是我从程序中得到的差异: 正如你可以快速地比较两个源文件(PTITVProgs和new_tweets)它们之间的区别是看到 了3个鸣叫是4月7日 和 4月3日3个鸣叫 。 我只希望其中的行不出现在差异中。 但这会抛出一堆我不想看到的文本。我不知道是什么,并在差异中输出立场…?

  • 本文向大家介绍python比较2个xml内容的方法,包括了python比较2个xml内容的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python比较2个xml内容的方法。分享给大家供大家参考。具体分析如下: 调用: 希望本文所述对大家的Python程序设计有所帮助。

  • 目前,我有一个脚本,从一个excel表复制数据,并粘贴在SAP中的事务代码Scal。 我的代码所做的是,根据每个ID(例如AA/AB)过滤日历选择,然后将开始日期和结束日期的数据复制到scal ID中。保存更改,然后移到下一个ID。 假设我有一个excel表,同一日历ID有多个条目。如何使excel检查下一行是否与当前一行具有相同的日历ID,然后不保存,而是复制并粘贴相同ID的开始/结束日期,然后

  • 问题内容: 是否有任何方法可以接收2个JSON对象并将其进行比较以查看是否有任何数据已更改? 编辑 在审查评论之后,需要进行一些澄清。 JSON对象定义为 “一组无序的名称/值对。一个对象以{(左括号)开始,以}(右括号)结束。每个名称后面都带有:(冒号),名称/值对之间以,(逗号)分隔。 ”。- json.org 我的目标是能够简单地比较2个JSON对象文字。 我不是javascript专家,所

  • 问题内容: 我有两张桌子。一个(下面的df)大约有18,000行,另一个(下面的映射文件)大约有80万行。我需要一个可以与如此大的DataFrames一起使用的解决方案。 这是一个玩具示例:表1-df 表2-映射文件 我正在尝试执行以下操作(我的语法是错误的,但是我认为这个想法会出现): 换句话说:我需要遍历mapfile中的每个项目(行),看看它的位置是否在df中每个CHR的任何START和EN