如何利用python提取两个excel对比后的重复值的信息?
请问:例如我有两个Excel表格,一个表格Ex1是三列,每列都有5000行,有名称,信息,价格.另一个表格Ex2是我需要的物品的名称,这里的名称有的包含在Ex1中,有的不...
请问:
例如我有两个Excel表格,
一个表格 Ex1 是三列,每列都有5000行, 有名称, 信息, 价格.
另一个表格 Ex2 是我需要的物品的名称, 这里的名称有的包含在Ex1中, 有的不包含.
我想将两个Excel比较, 用Ex2的名称匹配Ex1的, 匹配上的将其 名称, 信息 ,价格都输出在新的excel中,没匹配上的输出在另一个新的excel中.
(Excel处理不了上万行了.) 展开
例如我有两个Excel表格,
一个表格 Ex1 是三列,每列都有5000行, 有名称, 信息, 价格.
另一个表格 Ex2 是我需要的物品的名称, 这里的名称有的包含在Ex1中, 有的不包含.
我想将两个Excel比较, 用Ex2的名称匹配Ex1的, 匹配上的将其 名称, 信息 ,价格都输出在新的excel中,没匹配上的输出在另一个新的excel中.
(Excel处理不了上万行了.) 展开
2个回答
展开全部
import pandas
def read_excel():
data1 = pandas.read_excel(r'C:\Users\admin\Desktop\1.xlsx')
data2 = pandas.read_excel(r'C:\Users\admin\Desktop\2.xlsx')
data3=pandas.merge(data1, data2, on=['名称'], how='outer')
print(data3)
data3.to_excel(r'C:\Users\admin\Desktop\3.xlsx',index=False)
read_excel()
这3个excel分别是1,2,3表,用2匹配1,得到3表,我只是以名称比,相同的都统计了,3表里信息x,价格x为空的就是没匹配上的,这个要看具体数据的情况
追问
感谢您的回复, 您的描述很详细, 也很有用.
但是我遇到了另一个问题, 因为我的表2只有名称一列,所以这样做出来的表3有很多空的表格,很难区分哪些是对应上的.
所以能否继续解决一下问题:
例如您展示的表2里,我只有 [名称] 一列, 想与表1的名称对比,并将 [对应上表1中名称的] 那些列的 [所有信息] 输出到新的excel中,不要其他的信息,这样如何去做呢?
追答
import pandas
def read_excel():
data1 = pandas.read_excel(r'C:\Users\Administrator\Desktop\1.xlsx')
data2 = pandas.read_excel(r'C:\Users\Administrator\Desktop\2.xlsx')
data3 = pandas.merge(data1, data2, on=['名称'], how='right')
data3.to_excel(r'C:\Users\Administrator\Desktop\3.xlsx', index=False)
read_excel()
还是1,2,3表,2表匹配1,要是匹配上,1的值给2,没有匹配上还是2表原先的值
2020-02-24
展开全部
data3 = pandas.merge(data1, data2, on=['名称'], how='inner')
inner:内连接,取交集,这样改一下就符合你的要求了
inner:内连接,取交集,这样改一下就符合你的要求了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询