通过关键词合并2张excel表格——Python代码实现

问题描述

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.

相关推荐
wefly20173 分钟前
无需安装、开箱即用!m3u8live.cn 在线 HLS 播放器,调试直播流效率翻倍
前端·后端·python·前端开发工具·后端开发工具
2301_8154829325 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
将心ONE29 分钟前
melo tts安装使用
python
宸翰2 小时前
Python学习:年轻人的第一个入门Python项目(FastAPI版)
后端·python
AsDuang2 小时前
Python 3.12 MagicMethods - 55 - __irshift__
开发语言·python
DeepModel2 小时前
【概率分布】指数分布(Exponential Distribution)原理、推导与实战
python·算法·概率论
波特率1152003 小时前
miniconda入门使用
python·conda·miniconda·python环境
二闹3 小时前
别再死记硬背了!带你扒开*args和**kwargs的底裤
后端·python
m0_743297423 小时前
Python在金融科技(FinTech)中的应用
jvm·数据库·python
老师好,我是刘同学3 小时前
列表推导式详解与实战应用
python