操控excel,選擇Python還是vba?

玩玩wps


您好,很高興在這裡交流。

首先,VBA與Python都是可以對Excel進行編程控制的。

在當下,學習Python相對於VBA,應用場景會更廣闊一些,很容易擴展到機器學習,圖像處理,數據可視化,時間序列,數據分析等應用當中。

對於Python處理Excel數據,不得不提典型的數據處理庫pandas.

其中的方法涉及到,多表拼接,合併,透視表,可視化圖表,以及對大數據量的處理(千萬級)。

具體可參考以下案例:

①多表拼接實現1000萬條數據記錄彙總

https://www.toutiao.com/i6809389077578646028/

②Python處理時間序列常用方法彙總

https://www.toutiao.com/i6808906735865037319/

③Python繪製與金融相關的圖形

https://www.toutiao.com/i6813731029791015432/

④利用Python批量創建文件/文件夾

https://www.toutiao.com/i6815322095312962055/

⑤Python 批量修改文件名

https://www.toutiao.com/i6815834857394930187/

⑥matplotlib-繪製精美的圖表

https://www.toutiao.com/i6816914689075708419/


一切順利,加油!


DoItYourself


數據量大更建議用Python,vba一般都是將數據存放在內存中,當數據不拆分電腦配置又不高,就會顯得比較卡,數據處理完畢後,不釋放下內存電腦用起來也會比較卡,vba一般只會啟動2個cpu核心進行數據計算,運算效率也比較低,現在微軟已經停止對vba的更新,更建議學習Python,如果只是操作excel,這兩個學習難度差別不大,但是Python發展空間會更好


還有一種更加便捷的方法,就是使用power bi的三大組件進行數據處理,使用power query進行數處理,powerpivot進行分析,power view進行數據可視化,優點就是學習週期短,數據可實現自動刷新,上手比較快,使用這個方法,效率可能會比excel快一些,但是速度仍然不及python,當然了為了長久可持續更建議學習Python,但是上手週期會比較長


Excel從零到一


其實兩者皆可,15000行數據來說,根本不算多,前面幾個回答都在推薦vba,這裡我重點介紹一下python是如何處理excel的,涉及xlrd/xlwt、openpyxl和pandas,感興趣的朋友可以嘗試一下:

基礎模塊xlrd/xlwt

這是python比較基礎的2個excel處理庫,相信許多朋友都聽說或使用過,xlrd專門用於讀取excel數據,xlwt專門用於寫入excel數據,常見的工作表、行列、單元格等基本操作,這2個庫都可以輕鬆搞定,數據量比較多、內存不夠的情況下,可以先讀取一部分數據,處理完成後,再讀取下一部分數據,這樣電腦就不容易卡死,效率也能更高一些:

簡單易用openpyxl

這也是一個比較常用的python excel處理庫,和xlrd/xlwt一樣,openpyxl也可以輕鬆進行excel讀寫,支持按行按列讀取/刪除數據、單元格合併/拆分、插入圖表/圖片、調用函數/公式等基本操作,只不過僅兼容xlsx/xlsm 2種格式,較早的xls讀寫會出錯,數據量比較多的情況下,也可先讀取一部分,處理一部分,循環遞歸,直到所有數據都處理完:

專業強大pandas

說起pandas,許多朋友應該非常熟悉,尤其是做數據分析和處理的,作為python一個強大、著名的數據分析庫,pandas可以輕鬆處理日常各種數據格式,包括txt、csv、excel、json、mysql等,只需簡單幾行代碼即可快速完成數據的導入和導出,同時內置的數據格式提供了非常方便的數據處理,數據量多的情況下,可以按塊進行讀取,每次讀取固定大小的塊,處理完成後,再讀取下一個塊,直到所有數據都處理完:

目前,就分享這3個python excel處理庫吧,簡單易用的就是xlrd/xlwt、openpyxl,專業強大,也比較高效的就是pandas,只不過都需要一定python基礎才行,vba也行,但比較侷限,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。


分享到:


相關文章: