python对比两张EXCEL表,将不同的数据生成新表?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python对比两张EXCEL表,将不同的数据生成新表?相关的知识,希望对你有一定的参考价值。

在EXCEL中可以利用函数去筛选出,但数据量太多的话,生成速度实在太慢了。python有没有办法,可以做到快速筛选呢?附件分别是a和b的EXCEL表,想要做的是:b表中标记为‘2’的名称,需要跟a表中的名称做对比,如果在a表中找不到相同的名称,则输出这个名称,遍历后,生成这些不同名称的新表。有大神回答的话感激不尽。

import pandas as pd

# 数据表 a
df1 = pd.read_excel('C:/Users/Jelly/Desktop/a.xlsx')['名称']
# 数据表 b
df2 = pd.read_excel('C:/Users/Jelly/Desktop/b.xlsx')
# 筛选标记为2的名称
df2 = df2[df2['标记'] == 2]['名称']
# 数据表 a 转换为列表
aList = list(df1)
# 表头
columns = ['名称']
cList = []
# 遍历数据表 b
for k in df2:
# 判断 标记为2的名称是否在数据表中
if k not in aList:
# 输出
print(k)
cList.append(k)
df3 = pd.DataFrame(cList, columns=columns)
# 保存新数据表
df3.to_excel('c.xlsx', index=0)

a

b

c

参考技术A 用openpyxl库,如果是一行一行的对比那就先读一行b表格的数据,再读一行a表格的数据,把不同的数据存放在c表格里面,实现的方式为for循环,如果是b表格的一行数据跟a表格的所有行做对比,那就读一行b的数据再跟a表格里面的每一行数据做对比,输出到c表格,功能实现不到40行代码,我前几天就处理过类似的数据。

以上是关于python对比两张EXCEL表,将不同的数据生成新表?的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句:对比两张表的数据并筛选出数据不同的

excel两张表,格式相同如何对比数据是不是有差异

对比两张Excel表数据差异时,遇到数据雷响不一致

怎么用SQL比对两表

SQL两个表数据对比

MySQL如何对比两个表数据的异同