网站首页 > 技术文章 正文
阅读提示
本内容为日常频繁使用的数据处理操作,不涉及底层技术问题,烦请爱钻牛角的杠精绕行。
本内容尽量简单直白、步骤详细,适合数据分析入门。特别喜欢技术语言的大佬们,可自行跳过。
在上一篇:Python、PowerBI、Excel、MySQL,都能做?搞清楚数据聚合与分箱中
老海简单介绍了数据的分组聚合以及数据分箱操作。有兴趣的可以翻看之前的内容
本期内容介绍数据的多表关联,以及多表联合操作部分,下面我们开始!
数据多表关联
使用Excel时:
- Excel中一般使用VLOOKUP函数来关联不同的表格,特别注意该函数的使用特点
- 有时候VLOOKUP函数,会出现奇葩的BUG现象,尤其注意最后一个参数的选择
SQL:
- MYSQL中通过JOIN的不同方式来进行关联操作,利用关键字段完成表格连接
- 具体的关联方式可以参考下图,无论是哪种SQL语法,基本的关联方式都是类似的
- SQL操作时基本逻辑,主要是指定主表,从表,连接方式和连接字段
使用Power BI时:
- 使用“主页”中的“合并查询”或“将查询合并为新查询”功能
- 处理完成后,点击右上角的左右箭头标志,点击“展开”
- 此时,可以展示出关联后的全部字段情况,当然也可以选择聚合起来。
使用Python时:
- 我们可以使用pandas中的merge函数
- 传入4个参数,第一个是连接的主表,第二个是连接从表,第三个连接的key值,第四个是连接的方式,how为left时表示是左连接。此逻辑与SQL是相同的逻辑表达
数据多表联合
使用Excel时:
- Exce的表格联合合并操作,一般直接使用SHITF + CTRL + 箭头键,来选择数据,然后复制 + 粘贴到最后一行完成。人人都会的操作,这里不再演示了
- 当然也会涉及同一Excel中多个工作表,合并成同一个表格,此时可以考虑使用VBA,参考代码如下:
sub 合并当前目录下所有工作簿的全部工作表()
dim mypath, myname, awbname
dim wb as workbook, wbn as string
dim g as long
dim num as long
dim box as string
application.screenupdating = false
mypath = activeworkbook.path
myname = dir(mypath & "\" & "*.xls")
awbname = activeworkbook.name
num = 0
do while myname <> ""
if myname <> awbname then
set wb = workbooks.open(mypath & "\" & myname)
num = num + 1
with workbooks(1).activesheet
.cells(.range("a65536").end(xlup).row + 2, 1) = left(myname, len(myname) - 4)
for g = 1 to sheets.count
wb.sheets(g).usedrange.copy .cells(.range("a65536").end(xlup).row + 1, 1)
next
wbn = wbn & chr(13) & wb.name
wb.close false
end with
end if
myname = dir
loop
range("a1").select
application.screenupdating = true
msgbox "共合并了" & num & "个工作薄下的全部工作表。如下:" & chr(13) & wbn, vbinformation, "提示"
end sub
使用SQL时:
- UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
- 其中union相关操作分为union和union all两种。
- 二者通常用于将两份含有同样字段的数据纵向拼接起来的场景。但前者会进行去重
- 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。
- 列必须拥有相似的数据类型。同时每条 SELECT 语句中的列的顺序必须相同
使用Power BI时:
- 在“主页”中选择“追加查询”或“将查询追加为新查询”的功能
- 选择追加表格的数量,可以追加更多的表格,按照行的顺序进行合并操作
- 追加的表格可以是字段相同的,也可以是字段不同的情况
使用Python时:
- 在pandas中一般使用.concat方法来进行数据联合操作,通过参数axis还可以通过合并联合的方式,比如默认为0时,是按照行的方向,当设置为1时,是按照列的方向进行。
本系列文章:
第一篇:Excel、SQL、PowerBI、Python,谁更强大?数据工具终极对比 上篇
第二篇:数据查询与筛选:Excel、SQL、PowerBI、Python,比比谁更快
第三篇:数据更新删除与排序:横向对比 Python、PowerBI、Excel、MySQL
第四篇:Python、PowerBI、Excel、MySQL,都能做?搞清楚数据聚合与分箱
写在最后
OK,限于篇幅和时间,本篇内容先到这里了,这是本系列的第五篇,还剩最后1篇。
欢迎关注后续内容,涉及存储与导出等操作。
本系列文章内容较长,总结了经常使用的操作提示
可以随手收藏下来,相信总有需要的时候!
觉得不错,别忘了点赞、转发一下,哈~
猜你喜欢
- 2024-12-22 项目案例:Java多线程批量拆分List导入数据库
- 2024-12-22 8个SQL错误:您是否犯了这些错误? sql有问题
- 2024-12-22 如何使用 SQL UPDATE 和 DELETE 语句更新或删除表数据
- 2024-12-22 一文搞懂各种数据库SQL执行计划:MySQL、Oracle等
- 2024-12-22 MySQL数据库语句 数据库mysql基本语句用法
- 2024-12-22 灵魂一问:为什么ES比MySQL更适合复杂条件搜索?
- 2024-12-22 MySQL原理简介—11.优化案例介绍 mysql原理详解
- 2024-12-22 MySQL 表关系、外键、多表查询、子查询
- 2024-12-22 MYSQL数据库基础和常用语法汇总03篇-数据查询
- 2024-12-22 微软发布Win10八月累积更新:14项优化和改进,修复142个漏洞
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)