如何利用python提取两个excel对比后的重复值的信息? |
时间:2022-12-31 14:48:47 来源:网络 编辑:本站 点击: |
例如我有两个Excel表格, 一个表格 Ex1 是三列,每列都有5000行, 有名称, 信息, 价格. 另一个表格 Ex2 是我需要的物品的名称, 这里的名称有的包含在Ex1中, 有的不包含.
我想将两个Excel比较, 用Ex2的名称匹配Ex1的, 匹配上的将其 名称, 信息 ,价格都输出在新的excel中,没匹配上的输出在另一个新的excel中.
(Excel处理不了上万行了.)
py里的代码如下: 第一种:只选取交集 import pandas def read_excel(): data1 = pandas.read_excel(r'C:\Users\Administrator\Desktop\101.xlsx',dtype ='str') data2 = pandas.read_excel(r'C:\Users\Administrator\Desktop\102.xlsx',dtype ='str') data3 = pandas.merge(data1, data2, on=['名称'], how='inner') print(data3) data3.to_excel(r'C:\Users\Administrator\Desktop\103.xlsx',index=False) read_excel()
注意:dtype ='str'目的是为了保留前导零
第二种,交集的和未交集的都显示
import pandas
def read_excel():
data1 = pandas.read_excel(r'C:\Users\admin\Desktop\1.xlsx' ,dtype ='str')
data2 = pandas.read_excel(r'C:\Users\admin\Desktop\2.xlsx' ,dtype ='str')
data3 = pandas.merge(data1, data2, on = [ '名称' ], how = 'outer' )
print (data3)
data3.to_excel(r 'C:\Users\admin\Desktop\3.xlsx' ,index = False )
read_excel()
第三种,交集的和未交集的都显示
import pandas def read_excel(): data1 = pandas.read_excel(r'C:\Users\Administrator\Desktop\101.xlsx' ,dtype ='str') data2 = pandas.read_excel(r'C:\Users\Administrator\Desktop\102.xlsx' ,dtype ='str') data3=pandas.merge(data1, data2, on=['名称'], how='outer') print(data3) data3.to_excel(r'C:\Users\Administrator\Desktop\103.xlsx',index=False) read_excel()
|
|
|
|