一个表格 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()