举一个例子吧,就简单的数据筛选和删除。
由于我不熟悉VBA,所以通过录制宏来实现VBA的功能,具体操作是筛选品牌2并删除,只保留品牌1的数据,查看代码如下:- Sub 测试()'' 测试 宏'' ActiveSheet.Range("$A$1:$I$384").AutoFilter Field:=1, Criteria1:="品牌2" Rows("29:29").Select Range(Selection, Selection.End(xlDown)).Select Selection.Delete Shift:=xlUp ActiveSheet.Range("$A$1:$I$161").AutoFilter Field:=1End Sub
复制代码 而python的代码,- import pandas as pddata = pd.read_excel(excel源文件路径)res = data[data['品牌']=='品牌1']writer = pd.ExcelWriter(excel保存路径, engine='xlsxwriter')res.to_excel(writer, sheet_name='结果', index=False)writer.save()
复制代码 相对来说,python的代码逻辑比VBA的要简单易理解,但VBA的录制宏,是一个相对来说比较便捷的功能,因为可以直接把你的操作记录下来,还不用敲代码。
只是目前在我的经验里,有两个问题,
1、如果中间操作出错需要重新录制;
2、如果操作的数据量过大的时候,宏执行也会慢;
综上,从不管从功能使用还是代码编写实现逻辑来说,个人觉得python更容易学,应用层也相对更加广。
|