引言:看到标题,你是否有些困惑?在Excel上具备数据获取的能力是指什么?难道不是把csv格式的表格和Excel格式的表格打开就好了吗?然而并非这样。
本文选自《数据化运营速成手册》。

  其实标题中有两层意思:第一层意思是在一些数据库管理不那么严格的中小型企业,可以通过Excel中的ODBC数据接口,与数据库或者数据仓库建立连接,直接快速取数,提高工作效率;第二层意思是Excel 2016中有相当强大的数据获取工具,即便不能从数据库直接获取,也能从多个本地的数据表中将数据抽取、整理和转化,并做到实时更新,也能提高工作效率。

  下面就用简短的篇幅介绍Excel中的“数据查询”功能。如图1所示,在“数据”选项卡下面单击“新建查询”下拉菜单,就能看到Excel提供的数据获取抓手非常丰富。可以从本地的其他工作簿,也可以从SQLServer、MySQL、Oracle等数据库,还可以从Hadoop的HDFS文件查询获取数据。本节以从本地文件查询和从Web端查询为例介绍。

               
                        图1 数据查询功能

  延续之前的例子,我们将表A、表B和表C分别建立成3个Excel文件。在“新建查询”中单击“从工作簿”后,选择我们要的表A,就会出现一个连接的“导航器”,如图2所示。若直接单击“加载”按钮,则表A的数据会全部进入打开的工作表,并建立一个查询连接。若我们单击“编辑”按钮,则会弹出编辑查询的设置界面。在“查询编辑”面板中,可以可视化地实现SQL,诸如选择列、添加筛选条件、构造新的字段等,如图3所示。

           
                        图2 新建数据查询

         
                        图3 编辑数据查询

  我们的目的是将表A、表B和表C三张表合并。那么,最合理的做法是将表B作为主表,把表A和表C的内容合并上去。首先,我们分别建立了针对三张表的查询,如图4所示。

                  
                       图4 新建与源数据的查询

  第二步开始设置表B的查询,点开设置面板后,单击“合并查询”按钮,如图5所示。

         
                        图5 应用合并查询

  第三步,在“合并查询”的设置面板中,选好两张表对应的键,即“用户ID”,然后在“联接种类”中选择“左外部(第一个中的所有行,第二个中的匹配行)”,这就是一个“LEFT JOIN”,如图6所示。

             
                     图6 合并中设置匹配列和联接种类

  单击“确定”按钮后,查询设置界面上出现一个“NewColumn”,如图7所示,点开它右边的按钮,在下拉列表框中选择要匹配进表B的字段,选择“用户姓名”、“所在区域”、“性别”和“注册来源”。

         
                       图7 选择要匹配的字段

  完成这一步,实际上表A和表B已经成功合并了,我们再次单击“合并查询”选项,如图8所示,按刚才的操作,将表C中的“事件”字段进行“LEFT JOIN”,终于大功告成,如图9所示。

             
                     图8 新的合并中再次设置匹配列和联接种类

          
                         图9 完成合并后的效果

  经过上述步骤,不同的表建立查询后,作为数据源的表一旦有变动,我们只要右键单击查询设置页面中上方的“刷新”按钮,数据就会更新。不需要反复地复制粘贴,更不需要手动写函数转化,大大提高了工作效率。
  对这个内容再做一点小小的延伸。在工作中,作者会根据分析需求,先用查询工具将各个来源的表连接成一个主表;然后由这个主表做透视表和数据透视图,数据透视表的数据源就是引用整张表对象,而不是一个区域。这样能实现数据报表的半自动化。只要数据源进行了更新,那么打开制作报表的Excel工作簿,将查询链接更新一下,再将数据透视表更新一下,新的报表就完成了。用这个方法,可将原来半天的工作量压缩为30分钟,效率的提升是非常可观的。
  除了在本地文件之间建立查询,再简单介绍如何从网页上爬取数据。我们从NBA数据统计网站上拉取某个页面上呈现的上个赛季东西部球队的战绩情况,如图10所示。

        
                        图10 NBA数据统计网站

  过程其实非常简单。首先,建立一个从Web端的数据查询。单击图11所示的“从Web”选项后,在弹窗中输入URL,单击“确定”按钮。接着,Excel就会自动访问这个网页,并将网页中存储在

                 
                        图11 从Web端建立数据查询

            
                        图12 从Web端爬取NBA战绩数据

  在Excel中,获取数据的功能其实非常强大,而作者只使用了其中的“冰山一角”。希望大家在日常工作中多学多用,并把有价值的经验分享出来。

  本文选自《数据化运营速成手册》,点此链接可在博文视点官网查看此书。
                    

用Excel获取数据——不仅仅只是打开表格相关推荐

  1. Asp.Net Core MVC 使用Aspose.Cells从Excel获取数据

    视图中的代码: <div class="gcs-login-panel" style="height: 200px;"><div class= ...

  2. ajax异步获取数据后动态向表格中添加数据的页面

    因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 [html] view plaincopyp ...

  3. ajax异步获取数据后动态向表格中添加数据(行)

    因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 [html] view plaincopyp ...

  4. python tkinter编写界面,使用win32com操作excel获取数据生成截图后,wxpy登录微信,给租客发送房租(二)

    '''Open_Excel是根据每个excel里的每个租客租金详情,生成房租信息send_info 以及对应的表格图片过程:Open_Excel(月份) 输入月份实例化get_send_info() ...

  5. python怎么从excel获取数据_python如何读取excel表数据

    python读取excel表数据的方法:首先安装Excel读取数据的库xlrd:然后获取Excel文件的位置并且读取进来:接着读取指定的行和列的内容,并将内容存储在列表中:最后运行程序即可. pyth ...

  6. 通过Ajax获取数据并显示在表格中(原生Ajax,JQuery,Bootstrap,模板引擎)

    需求 页面上有一个"获取"按钮.当点击按钮时,从后端获取数据,并通过表格显示在页面上. 环境 Ubuntu 22.04 VSCode 1.67.2 jQuery v3.6.0 Bo ...

  7. 使用Excel获取数据

    文章目录 1. 获取文本文件数据 1.1. 新版导入 1.2. 旧版导入 使用Excel 专业增强版2019 1. 获取文本文件数据 1.1. 新版导入 数据 -> 获取数据 -> 自文件 ...

  8. python tkinter编写界面,使用win32com操作excel获取数据生成截图后,wxpy登录微信,给租客发送房租(三)

    tkinter界面: 这部分很大坨,不过跟上部分一样,代码里备注得很完整了,慢慢消化就能看得懂了!! 操作步骤: 运行程序后, 1.先点击"获取房租信息"按钮,所有租客该月的房租信 ...

  9. python怎么从excel获取数据_python怎么从excel中读取数据?/python 读取 excle

    如何通过python快速输出数据库数据到excel 扩展库 xlrd 读excle xlwt 写excle 直接度就能下载 下载后使用 import xlrd 就可excle文件了 打开文件: xls ...

最新文章

  1. 又一年5.20,用Python助力程序员脱单大攻略(视频版)
  2. 【Unity 3D】学习笔记三十六:物理引擎——刚体
  3. 2017 年初、阿里、腾讯、百度、华为、京东、搜狗和滴滴面试题汇集(更新篇)...
  4. Javascript创建节点
  5. iOS - UITableViewCell Custom Selection Style Color
  6. HTML和CSS常见问题整理
  7. Workflow Administration
  8. [转]jQuery设计思想
  9. windowsCE异常和中断服务程序初探(-)
  10. DLL注入(CreateRemoteThread方式)
  11. JAVA贪吃蛇游戏1.0版本
  12. Linux 安装 OFFICE 2007
  13. textbox wpf 居中_C# + WPF: TextBox中的光标定位问题
  14. jeb配置java环境_android逆向工具Jeb第一次启动
  15. 前馈反馈仿真matlab,前馈-反馈控制系统的具体分析及其matlab/simulink.pdf
  16. python函数里调用外部变量
  17. 2.1 Vision-Language Pre-Training for Multimodal Aspect-Based Sentiment Analysis
  18. 交换机虚拟化和堆叠的区别_企业网络基础EI CCIE设计部署如何理解三层交换和路由器的区别...
  19. 蓝汛ChinaCache打破传输瓶颈,提高宽带利用率
  20. WebGIS开发入门必备

热门文章

  1. postgresql standard_conforming_strings参数
  2. emoji表情mysql报错_MySql存储emoji表情报错的处理方法
  3. 网卡驱动卸载后一直安装失败的问题成功解决
  4. 企业考勤,用开源协同办公OA系统来管理!
  5. rep()函数的学习
  6. Java获得随机汉字
  7. Linux中常见的指令(三):几个查看文件内容的指令,ctrl+c的理解
  8. matlab用到两个工具箱有重复函数文件处理方法
  9. python网络编程【二】(使用TCP)
  10. 爱创课堂告诉你为什么别人年薪20万,你只是一个小码农!