python--对比两个Excel不同

###########################
#对比两个版本的Excel数据的异同
###########################
import xlrd
import xlwt
import os
l_p = [] #定义两个全局list,分别存储原始和目的需要对比的数据
l_t = []


def read_excel():
    wb_pri = xlrd.open_workbook('verp.xlsx')  # 打开原始文件
    wb_tar = xlrd.open_workbook('vert.xlsx')  # 打开目标文件
    wb_result = xlwt.Workbook()  # 新建一个文件,用来保存结果
    sheet_result = wb_result.add_sheet('result', cell_overwrite_ok=True)
    result_i = 0
    result_j = 0
    for sheet_i in range(2, 21):
        sheet_pri = wb_pri.sheet_by_index(sheet_i)  # 通过index获取每个sheet,为了省心,我根据自己的需要限定为第2-21个sheet
        sheet_tar = wb_tar.sheet_by_index(sheet_i)
        sheet_backup = wb_backup.get_sheet(sheet_i)
        print(sheet_pri.name, sheet_tar.name)
        # 为什么是取这一列,因为这就是需要对比的数据阿 
        l_p = sheet_pri.col_values(2)
        l_t = sheet_tar.col_values(2)

        # tmp =[var for val in a if val in b] #这个是求交集,老大没要求是用不上的
        # 求参数在pri(原始数据)中存在,而在tar(目标)中不存在的
        tmp_pd = list(set(l_p).difference(set(l_t)))
        # 求参数在tar中存在,而在pri中不存在的
        tmp_td = list(set(l_t).difference(set(l_p)))

        if result_i < result_j:
            result_i = result_j
        else:
            result_j = result_i
        for pd_i in tmp_pd:
            result_i = result_i + 1
            sheet_result.write(result_i, 0, sheet_pri.name)
            sheet_result.write(result_i, 2, pd_i)
        for td_i in tmp_td:
            result_j = result_j + 1
            sheet_result.write(result_j, 1, sheet_tar.name)
            sheet_result.write(result_j, 3, td_i)
    # 好了,可以去名为result的excel中查看结果了
    wb_result.save('result.xls')


if __name__ == '__main__':
    read_excel()
  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 您好,下面是一个简单的 Python 代码,用于对比两个 Excel 文件的差异: ``` import pandas as pd # 读取两个 Excel 文件 df1 = pd.read_excel("file1.xlsx") df2 = pd.read_excel("file2.xlsx") # 对比两个 DataFrame 的差异 differences = df1 != df2 different_cells = differences.sum() # 输出结果 print(different_cells) ``` 此代码使用了 pandas 库读取两个 Excel 文件,然后对比这两个 DataFrame 的差异,并将结果输出。 ### 回答2: 可以使用Python中的pandas库来对比两个Excel文件的差异。 首先,需要安装pandas库。可以使用以下命令安装: ```python pip install pandas ``` 接下来,可以使用pandas的`read_excel()`方法来读取两个Excel文件,并将它们分别存储在两个DataFrame对象中。 ```python import pandas as pd # 读取两个Excel文件 df1 = pd.read_excel('file1.xlsx') df2 = pd.read_excel('file2.xlsx') ``` 然后,可以使用pandas的`compare()`方法来比较两个DataFrame的差异,并将结果存储在一个新的DataFrame对象中。 ```python # 比较两个DataFrame的差异 diff = df1.compare(df2) ``` 最后,可以使用pandas的`to_excel()`方法将差异结果保存到一个新的Excel文件中。 ```python # 将差异保存到Excel文件 diff.to_excel('diff.xlsx', index=False) ``` 完整的代码如下所示: ```python import pandas as pd # 读取两个Excel文件 df1 = pd.read_excel('file1.xlsx') df2 = pd.read_excel('file2.xlsx') # 比较两个DataFrame的差异 diff = df1.compare(df2) # 将差异保存到Excel文件 diff.to_excel('diff.xlsx', index=False) ``` 运行代码后,会生成一个名为'diff.xlsx'的Excel文件,其中包含了两个Excel文件的差异信息。 ### 回答3: 在Python中,我们可以使用`pandas`和`openpyxl`库来读取和处理Excel文件,并比较两个Excel文件的不同之处。下面是一个示例代码: ```python import pandas as pd # 读取两个Excel文件 df1 = pd.read_excel('file1.xlsx') df2 = pd.read_excel('file2.xlsx') # 比较两个Excel文件的内容 diff = df1.compare(df2) # 输出不同的结果 print(diff) ``` 上面的代码中,将文件`file1.xlsx`和`file2.xlsx`分别读取到`df1`和`df2`两个`DataFrame`对象中。然后,使用`compare()`函数比较两个数据框的差异,并将结果存储在`diff`变量中。 最后,我们可以通过打印`diff`来显示两个Excel文件的不同之处。输出将以表格形式呈现,显示不同的行、列以及它们之间的差异。 需要注意的是,为了运行上述代码,我们需要安装`pandas`和`openpyxl`库。可以使用以下命令来安装它们: ``` pip install pandas openpyxl ``` 这是一个简单的代码示例,实际应用中可能会根据具体需求进行更复杂的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值