python与vba的区别_选择VBA还是Python?
首发 公众号 :EXCEL办公实战
到底是VBA,还是Python?
类似的话题,还有操作EXCEL学者Python,还是VBA
现在学习VBA还值吗?是否过期等!
这些问题,有很多粉丝在问,在知乎、头条我都有写过几篇交流过。
今天我们就来系统总结交流一下。
首先,我简单说一下,我自己吧。
VBA目前8年左右,Python主要写爬虫3年左右。
当然我也是办公一族,还是“表哥”
财务人员,上到集团下到市场门店都有经历
可以说几乎每天都和EXCEL形影不离……
就根据自己的经验,一起和大家交流一下。
在结尾部分,我也分享一下写的相关代码和操作EXCEL相关的Python库
1、开发效率谁高?
VBA用作脚本语言的工具内置于Office套件中;其语法与有着悠久历史的VB相比较一致。相较于纯正面向对象的语言而言,在学习成本上更为便捷。
在EXCEL的操作中约80%可以通过录制宏快速实现;从效果上看, 录制宏从功能上与我们讨论过的VBA技术基本相当, 这也表明了EXCEL中的许多操作都可以通过编写简单的VBA脚本来实现;操作Office软件时, 使用VBA不仅可以提高效率, 编写代码的工作量也大大减少;对于许多刚开始学习Excel的新手来说, 学习录制宏是一个非常便捷的学习途径, 只需稍作调整就能掌握基础操作
Python在处理EXCEL中的非纯数据类型(包括制作图表、生成图形以及调整格式等内容)方面确实不太方便。尽管如此,在这一领域上许多主流的Python库也表现不够友好。有些库完全不支持这一功能。相比之下,则远胜过VBA。
2、学习成本谁低?
VBA是Office套装软件系统内嵌开发语言,在编程效率上更具专业性;一般来说而言,在功能实现上,默认情况下内置组件相较于第三方插件来说更为优秀
Python语言以其精炼的语法著称,在这一领域不断前行的过程中功能日益丰富。近年来,在这条编程道路上不断前行的年轻人通常稳居主流语言前列。切勿盲目模仿这一做法,在简单的基础上要掌握变量管理、数据类型分类以及循环逻辑的基础知识才能实现高效操作。想要熟练运用办公软件如Excel等,则需深入学习xlwings、xlrd等专门库的支持。
3、学习难度谁大?
如果你没有任何脚本或者编程语言基础,那么可以肯定都不简单
如果只是操作一些文件的复制、整理、移动等,Python这方便成本更低
非要入门一门的话,优先考虑VBA,再学习Python
4、使用场景谁广?
毫无疑问,在人工智能、大数据以及金融分析等领域中无与伦比的Python是一种万能的编程语言;它不仅在WEB开发方面表现出色,在数据分析和机器学习领域同样有着广泛的应用;尽管我主要用于进行数据采集
VBA主要聚焦于仅限于Office这一领域;尽管还可以通过调用winAPI等方式进行一定程度的扩展;然而这种局限性明显存在,在这个圈子内难以突破;同样不建议过于勉强地试图脱离;对于专业领域的事情,则应当依靠专业的工具来进行处理。
Python和VBA部分语法,出两个对线一下:
循环篇
'VBA:1-100累加
Sub totalData()
Dim i As Integer, lgSum As Long
For i = 1 To 100
lgSum = lgSum + i
Next
End Sub
Python:1-100累加
i = 0
total = 0
for i in range(1, 100):
total += i
元素遍历
'VBA:每个元素加10
Sub forEach()
col = Array(1, 3, 5, 6, 7, 8, 10)
For Each eve In col
eve = eve + 10
Next
End Sub
python:也有for i in list,这里使用列表推导式
[i+10 for i in [1, 3, 5, 6, 7, 8, 10]]
Python:使用Pandas读取EXCEL指定列数据,部分代码截取
def getSearchKey(self):
wb = pd.read_excel(self.cp_file_path, sheet_name='leadsSC')
return list(wb['Company'])
部分VBA实战代码:VBA自定义函数篇
部分Python数据采集篇:
操作EXCEL常用的Python库对比:
番外话
这几年EXCEl版本更迭,Power系列组件逐步内嵌,加上推的Power BI
不管是Power Query的数据清洗(ETL),还是Power Pivot的数据分析
或者是Power Map+View的数据可视化,无疑强化的office这个工具
某种程度上来说,则让我们的数据分析工具实现了简化与便捷;而Power BI则整合了这些内容进行集成化处理,并且使用起来更加高效。
对于未来展望而言,在掌握这些工具的应用过程中我觉得非常值得建议大家去深入学习它们;某些情况下相较于VBA更为适用。
未来可期!
篇幅限制,我们就不再更多唠叨,想必大家也对二者有一定的了解。
到处是“人生苦短,我用Python”
但是请不要盲从,你的应该学会自己去判断。
Excel办公实战,高效办公,每天进步一点点!
关注小编,下次精彩不迷路!
喜欢小编的文章,一定要点赞,关注,转发
您的鼓励是小编最大的动力!
THE END
