文章最后有录制的讲解视频,如果看文章不舒服的话,可以直接滑到文末看视频,希望你能喜欢~
在工作中,会经常遇到将多张表合并为一张表的需求;在面试的时候,有时也会被面试官问到左连接、右连接、内连接的区别。本文介绍了常用软件(包括Excel、Power BI、MySQL、Python),进行数据横向连接的方法。
本文用到的数据是简化的医药销售数据,包括订单表、机构信息表、价格表,现在需要将三张表拼接成一张表,表数据如下截图:



第一种方法,使用vlookup函数
以sales表为主表,使用vlookup函数将price表和institution表的数据引用到sales表里,vlookup函数:=VLOOKUP([@SKU],Price!$A$1:$C$18,3,FALSE),效果如下截图。如果附表的字段较多,需要使用多个vlookup函数,另外如果数据量较大,软件容易崩溃,因此在海量数据情况下,不推荐使用这个方法。

第二种方法,使用Excel BI里面的Power Query
从Excel数据选项卡下的获取和转换可以进入到PQ界面,先将三份数据分别导入到PQ里面,使用PQ的合并查询功能,先将sales表和price表合并,再和institution表进行合并。优势是对字段数量和记录数量没有要求,可以便捷的实现海量数据的合并。主要截图如下:

第三种方法,使用MySQL
如果数据不再数据库里,使用这种方法比较麻烦。先将数据导入到数据库,数据库只能导入csv文档或者txt文档,需要先将Excel的三个表另存为UTF8编码的csv文档,再将三个文档拷贝到安全路径下(不在安全路径,数据库不能导入外部数据),使用多表查询语句,将查询结果导出到外部文件,具体代码如下:
#创建数据库
第四种方法,使用python
先将数据导入到Python里,再进行多表连接,代码如下:
#导入pandas包
将以上四种方法录制了视频,更详细内容请观看:
知乎视频www.zhihu.com欢迎关注我们团队的知乎及其他平台账号+_+
知乎:曹亮http://cda.cn
微信公众号:数据爱好者记
B站:数据爱好者记
CSDN:数据爱好者记