有时我们需要从网站获取一些数据,传统方法是通过复制粘贴,直接粘到Excel里。不过由于网页结构不同,并非所有的复制都能有效。有时即便成功了,得到的也是“死数据”,一旦后期有更新,就要不断重复上述操作。能否制作一个随网站自动同步的Excel表呢?答案是肯定的,这就是Excel里的Power Query功能。
1. 打开网页
下图这个网页,是中国地震台网的官方页面(http://news.ceic.ac.cn/)。每当有地震发生时,就会自动更新到这里。既然我们要抓取它,就要首先打开这个网页。
首先打开要抓取的网页
2. 确定抓取范围
打开Excel,点击“数据”→“获取数据”→“自其他源”,将要抓取的网址粘贴进来。此时Power Query会自动对网页进行分析,然后将分析结果显示在选框内。以本文为例,Power Query共分析出两组表格,点击找到我们所需的那个,然后再点击“转换数据”。片刻后,Power Query就会自动完成导入。
建立查询,确定抓取范围
3. 数据清洗
导入完成后,就可以通过Power Query进行数据清洗了。所谓“清洗”说白了就是一个预筛选过程,我们可以在这里挑选自己所需的记录,或者对不需要的列进行删除与排序操作。其中右键负责删除数据列,面板中的“保留行”用来筛选自己所需的记录。清洗完成后,点击左上角的“关闭并上载”即可上传Excel。
数据“预清洗”
4. 格式调整
数据上传Excel后,可以继续进行格式化处理。这里的处理主要包括修改表样式、文字大小、背景色、对齐、行高列宽,添加标题等等,通俗点说就是一些美化操作,最终我们便得到了下图这个表。
对表格进行一些美化处理
5. 设置自动同步间隔
目前表格基础已经完成,但和复制粘贴一样,此时得到的仍然只是一堆“死数据”。想让表格自动更新,需要点击“查询工具”→“编辑”→“属性”,并勾选其中的“刷新频率”和“打开文件时刷新数据”。处理完成后,表格就可以自动同步了。
设置内容自动同步
注:默认情况下数据刷新会导致列宽变化,此时可以点击”表格工具“→“外部表数据”→“属性”,取消“调整列宽”前面的复选框解决这个问题。
防止更新时破坏表格式
写在最后
这个技巧很实用,特别是在制作一些动态报表时,能够大大减轻人工提取所产生的麻烦。好了,这就是本期要和大家分享的一个小技巧,是不是很有用呢!