问题描述
2个excel表格中都包含了一个共同的关键字【单品编码】,如何将2个表通过该关键字合并为一张表格。使用Python代码完成该任务。
1.数据说明
附件1中的数据excel格式
c
销售日期,扫码销售时间,单品编码,销量(千克),销售单价(元/千克),销售类型,是否打折销售
2020-07-01,09:15:07.924,102900005117056,0.396 ,7.60 ,销售,否
2020-07-01,09:17:27.295,102900005115960,0.849 ,3.20 ,销售,否
2023-03-30,15:06:08.514,102900011030097,1.000 ,4.50 ,销售,否
2023-03-30,15:08:15.868,102900005116257,0.584 ,8.60 ,销售,否
2023-06-30,21:35:21.509,102900011016701,0.252 ,5.20 ,销售,否
2023-06-30,21:40:48.248,102900011022764,0.803 ,12.00 ,销售,否
附件2中的数据excel格式
c
单品编码,单品名称,分类编码,分类名称
102900005117056,牛首生菜,1011010101,花叶类
102900005115960,四川红香椿,1011010101,花叶类
102900005115625,本地小毛白菜,1011010101,花叶类
102900005115748,白菜苔,1011010101,花叶类
102900011030097,藕,1011010402,水生根茎类
102900005116257,净藕(1),1011010402,水生根茎类
102900005118824,高瓜(1),1011010402,水生根茎类
102900011001561,莲蓬(个),1011010402,水生根茎类
102900011016701,紫茄子(2),1011010501,茄类
102900011022764,青茄子(1),1011010501,茄类
102900011000335,紫圆茄,1011010501,茄类
102900011009444,大龙茄子,1011010501,茄类
2.Python代码复现
c
import pandas as pd
filepath1 = 'C:/Users/14210/Desktop/机器学习代码/data/附件1.xlsx'
filepath2 = 'C:/Users/14210/Desktop/机器学习代码/data/附件2.xlsx'
Sheet_key1 = pd.read_excel(filepath1)
Sheet_key2 = pd.read_excel(filepath2)
print('主键合并前Sheet_key1的大小为:', Sheet_key1.shape, '\n',
'主键合并前Sheet_key2的大小为:', Sheet_key2.shape)
Sheet_key = pd.merge(Sheet_key1, Sheet_key2, left_on='单品编码', right_on = '单品编码')
#将合并后的DataFrame数据保存为excel文档。
Sheet_key.to_excel("C:/Users/14210/Desktop/机器学习代码/data/output.xlsx", index=False)
print('主键合并后数据框为:\n', Sheet_key, '\n',
'主键合并后数据框大小为:', Sheet_key.shape)
3.复现结果展示
终于成功了,该数据集使用了2023年全国大学生数学建模大赛C题中的附件1和附件2.