excel数据分析自动化工作实例,请问学习方向是PowerQuery Access Python?

每个月收到一个几千行的excel表格,涉及到项目名称、项目所在地、项目类型、安排投资、完成投资等数据。最终成果是:按地区项目完成率排序表、按类型项目完…
关注者
12
被浏览
2,602

7 个回答

其实楼主自己已经把答案列出来了,三种方法都是可以的,主要看你喜欢哪一个。

一、Excel +PQ

这个是完全用Excel的工具搭建,如果你电脑安装有这些,直接使用。最方便

当然,如果想更自动化 智能化一点,可以再加点VBA。一键完成每天工作。

Power Query 是Excel超级厉害的利器。

什么是Power Query:

Power Query在Excel中通过简化数据发现、访问和合作的操作,从而增强了商业智能自助服务体验。Power Query为BI专业人士以及其他用户,提供了一个无缝的数据发现、数据转换体验,

Power Query是Power BI的一个组件,能够把不同来源的数据源整合在一起,建立好数据模型,为用Excel、Power Pivot、Power View、Power Map进行进一步的数据分析做好准备。

Power Query有哪些功能:

获取数据(可以多个数据源):可从Excel Access SqlServer 等多种数据库获取数据源。

数据清洗(整理不规范数据):很多底层数据不规范,用它清洗数据非常好。

融合数据(多工作簿多表数据合并):不用VBA,SQL也能快速合并多表多工作簿。

自动刷新:PQ做好的模型,刷新下就可以更新

二、Access数据库

使用Access VBA实现Excel数据自动导入,计算 分析 统计,这些都是Access的强项,还可以自动再输出报表及结果到Excel或Word.

Access既是数据库容器,又是前端界面开发工具,它的优势就是短 平 快,做一个小系统可能半天就完成了。表 查询 窗体 代码 都在一起,一个人搞掂。

Access相对Excel来说,存储的数据容量大很多,可以存放几百万甚至上千万的数据,而且Access的窗体 子窗体 报表 模块 等都非常强大,Access还可以编译生成mde或accde ,它不含源代码。发布与打包将更加方便,而且可以保证源作者的代码安全及保护版权。最重要的是,它还可以程序界面与数据分享。方便只更新程序而不影响关联的数据。

与Excel 的主要区别可瞧瞧: 小辣椒高效Office:Excel与Access对比 区别 差异 优缺点及应用场景

来个图镇楼:

相关的思路及流程:

三、Python+Excel 相关库

Python有很多关于Excel的相关库,还有很多数据分析的库

如果你有一点脚本语言的基础,也可马上开干,难度并不比上面两者高。效果也是棒棒的。

Python最大的好处,就是有现成成熟的库,直接用。在网上搜索可看到与Excel相关的库非常多,而且调用也非常方便:

1、xlrd

xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件。

xlrd.readthedocs.io/en/

1、xlrd支持.xls,.xlsx文件的读

2、通过设置on_demand变量使open_workbook()函数只加载那些需要的sheet,从而节省时间和内存(该方法对.xlsx文件无效)。

3、xlrd.Book对象有一个unload_sheet方法,它将从内存中卸载工作表,由工作表索引或工作表名称指定(该方法对.xlsx文件无效)

2、xlwt

xlwt是一个用于将数据和格式化信息写入旧Excel文件的库(如.xls)。

xlwt.readthedocs.io/en/

1、xlwt支持.xls文件写。

3、xlutils

xlutils是一个处理Excel文件的库,依赖于xlrd和xlwt。

xlutils.readthedocs.io/

1、xlutils支持.xls文件。

2、支持Excel操作。

4、xlwings

xlwings是一个可以实现从Excel调用Python,也可在python中调用Excel的库。

docs.xlwings.org/en/sta

1、xlwings支持.xls读,支持.xlsx文件读写。

2、支持Excel操作。

3、支持VBA。

4、强大的转换器可以处理大部分数据类型,包括在两个方向上的numpy array和pandas DataFrame。

5、都看到这里了,还不分享到朋友圈?

5、openpyxl

openpyxl是一个用于读取和编写Excel 2010 xlsx/xlsm/xltx/xltm文件的库。

openpyxl.readthedocs.io

1、openpyxl支持.xlsx文件的读写。

2、支持Excel操作。

3、加载大.xlsx文件可以使用read_only模式。

4、写入大.xlsx文件可以使用write_only模式。

6、xlsxwriter

xlsxwriter是一个用于创建Excel .xlsx文件的库。

xlsxwriter.readthedocs.io

1、xlswriter支持.xlsx文件的写。

2、支持VBA。

3、写入大.xlsx文件时使用内存优化模式。

7、win32com

win32com库存在于pywin32中,是一个读写和处理Excel文件的库。

pythonexcels.com/python

1、win32com支持.xls,.xlsx文件的读写,支持.xlsx文件的写。

2、支持Excel操作。

8、DataNitro

DataNitro是一个内嵌在Excel中的插件。

datanitro.com/docs/

1、DataNitro支持.xls,.xlsx文件的读写。

2、支持Excel操作。

3、支持VBA。

4、收费。注:DataNitro作为插件使用需依托软件本身。

9、pandas

pandas通过对Excel文件的读写实现数据输入输出

pandas.pydata.org/

1、pandas支持.xls,.xlsx文件的读写。

2、支持只加载每个表的单一工作页。


有这些Python相关的库的加持,你就站在前人的肩膀上,而不需要自己逐个制造零件了。上面这些都是标准件,直接组装就行。


四、三者的区别

区别就是:

Excel 是Office自带的,亲生的。不生分。

Access是Office专业版自带的,且专门针对数据处理的。容量大,VBA及窗体强大

Python不是亲生的,但实力不俗,有很多亲戚帮忙。


其实三种方法看似工具不同,但相应的方法,数据整理的流程,统计的思路大体都是相似的,选择哪一个,或者三者都尝试一下,都是可以的。


希望能帮到您,也可关注我 @小辣椒高效Office

就这点小数据量,power BI三套件足矣。数据清洗、建模、图表一体化,非常舒服。