有时我们需要从网站获取一些数据,传统方法是通过复制粘贴,直接粘到 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. 设置自动同步间隔
目前表格基础已经完成,但和复制粘贴一样,此时得到的仍然只是一堆“死数据”。想让表格自动更新,需要点击“查询工具”→“编辑”→“属性”,并勾选其中的“刷新频率”和“打开文件时刷新数据”。处理完成后,表格就可以自动同步了。
注:默认情况下数据刷新会导致列宽变化,此时可以点击”表格工具“→“外部表数据”→“属性”,取消“调整列宽”前面的复选框解决这个问题。
写在最后
这个技巧很实用,特别是在制作一些动态报表时,能够大大减轻人工提取所产生的麻烦。好了,这就是本期要和大家分享的一个小技巧,是不是很有用呢!