精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為什么Python比VBA更適合自動化處理Excel數據?

大數據 自動化
每當有人發布關于 python 處理 Excel 數據的文章,總會有人只看了標題就評論:"vba處理已經足夠,完全沒必要使用python";"我工作環境不能安裝,因此vba就比python更適合處理Excel";"vba比python快速100倍!"其實,那些稍微接觸過 pandas 的人,相信都會心底上抗拒使用vba。

每當有人發布關于 python 處理 Excel 數據的文章,總會有人只看了標題就評論:

  • "vba處理已經足夠,完全沒必要使用python"。
  • "我工作環境不能安裝,因此vba就比python更適合處理Excel"
  • "vba比python快速100倍!"

其實,那些稍微接觸過 pandas 的人,相信都會心底上抗拒使用vba。

而我本人一直保持一個觀點,各種工具都有他的優劣勢,拋開應用場景單純說某個工具更好都是在耍流氓。今天,我就舉例說明一下,哪些場景適合vba,哪些場景適合python。

我喜歡用實際案例說明問題,本文使用泰坦尼克號沉船事件中的乘客信息表:

 

為什么python比vba更適合自動化處理Excel數據?

實現幾個簡單分析需求:

  • 找出多人(2人或以上)一起登船的組的數量
  • 列出這些人的信息
  • 是否存在最幸運的親朋好友(多人一起登船,同時全部人都獲救)?

"操作 Excel"等于"數據處理"嗎?

初學者往往誤以為操作 Excel 就是在處理數據,實際上是兩回事。

需求是:"姓名與住址列內容通常很長,希望最終Excel顯示的時候,使用縮小字體填充"。

 

為什么python比vba更適合自動化處理Excel數據?

對于這種格式化設置,vba絕對是最佳選擇!因為我們可以通過錄制宏,自動得到大概的代碼

通過簡單的錄制宏,我們就能寫出如下實現:

 

為什么python比vba更適合自動化處理Excel數據?

如果我們使用 python 實現相同的需求,代碼肯定只多不少,并且難以調試。

如果你看過我的專欄《帶你玩轉Python數據處理—pandas》的話,其中關于數據處理流程一節,你會想到,這就是"數據展示"的流程。

也就是說,如果你的數據任務最終需要輸出 Excel 文件,vba是"數據展示"過程的最佳自動化工具。

可惜,現實中的大部分需求并不單純,都需要進行"數據處理",那么 vba 中又是如何處理數據?

vba 使用數組+字典,就是高效率?

大部分不經思考,張口就反對 python 的同學,都是對自己的 vba "數組+字典" 的技能有著迷之自信。

來看一個數據分析相關的處理需求:

我們注意到,有些人是親朋好友一起上船,比如:

 

為什么python比vba更適合自動化處理Excel數據?
  • 從"票根號"一樣,可以看出來他們是一起上船
  • 從"住址"一樣,可以看出來他們是一家四口

我們需要統計出有多少組這些2人或以上登船的?

以下嘗試用vba解決:

 

為什么python比vba更適合自動化處理Excel數據?

其實代碼不算多,里面的技巧也只是基礎,但是如果會 pandas 的同學心里肯定會說:"太繁瑣了"。

因為對于 pandas 來說,如下:

 

為什么python比vba更適合自動化處理Excel數據?

代碼就4句,最關鍵的其實只有3句,分別表示:

  • 加載數據
  • 按"票根號"分組統計數量
  • 數量大于1的總和

這不就是一個正常人的處理思維嗎?這就是簡潔

能夠與需求表達語義相近,多余的表達越少,即越簡潔

回頭看 vba 的表達,多余的表達非常多。

  • Excel 有一個非常好用的統計工具——透視表。你可以嘗試通過錄制宏得到透視表的操作代碼,但是你仍然會發現有許多多余的表達。
  • Sql 的表達更加簡潔,但是實現如上的需求,你會發現他的表達順序需要"繞"一下

有些不服氣的同學會說:"我寫出這段vba代碼也就1分鐘,反正也能得到正確結果"

當需求不斷變化,你就會發現這樣子的代碼最終走向無法實現的死胡同。

剛剛我們知道了有216組親朋好友是一起登船的,但只有一個數字,我們希望看看這216數據的大概樣子。

也就是說輸出這些乘客數據。

python 的實現:

 

為什么python比vba更適合自動化處理Excel數據?
  • 順便排序一下,方便觀察
  • 這里代碼多余的表達,就是那個 lambda 單詞。如果換成是 sql ,就非常簡潔

vba 的實現太麻煩了,就留給那些不服氣的 vba 粉絲吧

現在你大概能夠稍微理解,為什么 Python 在數據領域這么受寵了。

數據分析中的數據處理,需要你的代碼趕上你的思維速度,只有簡潔的語言才能做到。

按理說,sql 應該是更好的選擇,但實際上很多復雜需求實現,sql 需要大量的嵌套查詢,此時就一點都不簡潔了。以后再舉例說明

現實的需求是 "操作Excel" + "數據處理" ,怎么辦?

這時候最理想的情況是,使用 vba 操作 Excel,數據處理交給 Python,中間就需要一個橋梁把 vba 與 python 打通,這就是 xlwings 或其他類似的庫的最佳實踐方式。

如果你完全使用 xlwings 控制 Excel,Python 代碼操作 Excel 寫起來非常別扭,一旦你理清楚 "操作Excel" 與 "數據處理" 的區別,自然而然知道如何組織你的代碼。

Python 需要單獨安裝,因此他比不上 vba

這是一種無聊的結論,因為任何自動化工具都需要安裝,比如學習性價比最高的 Sql ,他也需要安裝相應的驅動程序才能執行。

而我本人的工作環境有一部分任務是需要放在服務器上執行,此時是不可能安裝 Excel,vba 也用不上了,但我不能因此作出"vba比不上python"的結論吧。

如果你的工作環境不能安裝 python,但你又需要做大量數據處理任務,那么我只能說非常不幸,你只能犧牲自己大量的時間使用vba去完成需求。

Vba 就不能有 pandas 的存在嗎?

"說了半天,不就是 python 比 vba 多了一個 pandas 庫而已嗎,找個vba牛人去寫一個 vba-pandas 就行啦!"

vba 天生缺少了一種語言特性,使得你即使有寫庫的能力,也無法發揮。

這就是提取邏輯的能力.

通常來說,如果一段代碼有些數據不是固定,我們可以提取成函數的參數,比如最簡單的數字計算:

 

為什么python比vba更適合自動化處理Excel數據?
  • 分別定義3個參數,讓你輸入,但計算方式是固定的

對于 vba 來說他同樣可以做到,但是如果是其中一段代碼不是固定,能否把他提取為參數呢?

而 python 就能做到,比如以下的函數,可以讓你輸入3個數字,并且由你決定前2個數字的計算方式,最后與第3個數字做乘法:

 

為什么python比vba更適合自動化處理Excel數據?

結果時,第一個數乘以10 + 第二個數乘以100(這是變化的邏輯,由使用函數的人自行決定),最后乘以第三個數(這是固定邏輯,由定義函數的人決定)

vba 需要使用接口做到同樣的效果,非常麻煩,對于數據任務沒有任何實用價值

這有什么用處?用最后一個需求說明:

  • 是否存在最幸運的親朋好友(多人一起登船,同時全部人都獲救)?

假如說,我只給你一組相同"票根號"的乘客數據,該如何判斷他們都是生還呢?

 

為什么python比vba更適合自動化處理Excel數據?

只要看"生還"列是否都為1就可以。方式非常多,除了上面的做法,還可以"生還列求和,看看是否等于記錄行數"

前一個需求中使用的 filter 就是可以接受一段邏輯(函數),pandas 負責幫你分組,你只需要在函數中描述出符合條件的邏輯即可:

 

為什么python比vba更適合自動化處理Excel數據?
  • 把剛剛定義的函數,傳給 filter 函數

而 vba 無法做到這一點,就意味著他無法做出 pandas 一樣好用的庫!

因為許多看似復雜的流程,其實是由許多固定的邏輯 + 變化的邏輯 組成。

比如分組的原理就類似 vba 中使用字典,這是相對固定的,完全可以讓庫完成。

但是分組后,每一組的處理邏輯卻是變化的,由使用者臨時決定,比如之前的需求分組中我們有時候需要計數,有時候需要篩選。篩選的邏輯也是千變萬化。

最后

任何工具都有他的適用場景,如何合理利用才是我們的學習方向,而非一根經地排斥自己不熟悉的工具。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2021-04-28 14:50:07

ElasticSearMySQL數據庫

2021-02-19 08:17:07

MySQL ElasticSea搜索

2022-04-28 18:37:50

PythonExcel

2018-10-17 12:34:36

災難恢復云計算數據中心

2021-04-21 07:31:01

ElasticSearMySQLCPU

2020-11-23 16:18:21

Python開發工具

2024-09-09 04:00:00

GPU人工智能

2010-11-24 10:16:04

Office 365Google Apps

2024-05-23 11:33:42

python代碼開發

2013-01-29 08:43:32

應用程序開發PaaS

2019-08-21 09:24:45

GPUCPU深度學習

2013-01-29 10:40:26

云環境應用程序開發

2011-12-07 20:43:33

2021-02-22 10:39:10

多云云計算云平臺

2022-07-28 13:54:16

RPABPA自動化項目

2021-04-27 09:00:00

PythonIDE開發

2025-03-28 09:15:50

2024-12-30 08:33:54

大型模型GeminiLLM

2009-09-04 11:26:00

英特爾虛擬化

2009-11-05 18:50:04

Windows 7上網本
點贊
收藏

51CTO技術棧公眾號

99riav国产精品视频| 亚洲精品国产精品国自产| 久久综合综合久久| 亚洲三级网址| 欧美日韩在线三级| 91麻豆天美传媒在线| 开心激情综合网| 人禽交欧美网站| 欧美成人精品xxx| 色婷婷免费视频| 久久福利在线| 天天做天天摸天天爽国产一区| 日本精品一区二区三区不卡无字幕| 一级视频在线播放| 亚洲一区欧美激情| 欧美成人网在线| 99久久人妻无码精品系列| 亚洲人体在线| 色88888久久久久久影院野外| 特色特色大片在线| 久青草国产在线| 国产不卡视频在线观看| 国产免费一区二区三区在线观看 | 亚洲精品国产一区二区三区| 精品丝袜在线| 一区二区三区不卡在线观看| 在线电影看在线一区二区三区| 日本天堂影院在线视频| 国产激情一区二区三区| 国产精品自产拍在线观| 亚洲日本视频在线观看| 国产一区日韩一区| 日韩一二三在线视频播| 色无极影院亚洲| 日韩精品欧美大片| 欧美v国产在线一区二区三区| 亚洲小视频网站| 视频一区在线免费看| 日韩欧美国产视频| 日本毛片在线免费观看| xxxx成人| 亚洲国产精品久久不卡毛片| 国产精品一二三在线观看| 婷婷在线视频| 中文字幕电影一区| 色姑娘综合网| 天天操天天干天天爱| 蜜桃一区二区三区在线观看| 国产成人精品免高潮费视频| 日本熟妇乱子伦xxxx| 综合一区二区三区| 久热爱精品视频线路一| 国产真人真事毛片视频| 妖精一区二区三区精品视频| 337p亚洲精品色噜噜狠狠| 91高清国产视频| 69堂免费精品视频在线播放| 一本久道中文字幕精品亚洲嫩| av免费观看大全| av日韩国产| 亚洲综合免费观看高清完整版| 亚洲三区在线| 中文字幕在线播放| 欧美极品另类videosde| 日本高清一区| 国产最新视频在线| 久久久久久久久久久久久女国产乱| 国产精品午夜av在线| 精品国产av鲁一鲁一区 | 久久久精品视频成人| 色婷婷国产精品免| 久久福利影院| 日韩在线观看网址| 久久久久久久久久97| 91日韩在线| 精品国产一区二区三区久久狼黑人 | 亚洲在线视频观看| 国内老熟妇对白xxxxhd| 国产成人精品综合在线观看| 国产午夜精品在线| 日韩porn| 国产欧美精品一区二区三区四区 | 国模吧一区二区三区| 久久久久久久久99| 国产欧美另类| 国产成人亚洲综合青青| 五月激情丁香网| 麻豆91在线播放免费| 成人网中文字幕| www.国产欧美| 91香蕉视频黄| 亚洲一区二区高清视频| 污的网站在线观看| 欧美日韩亚洲精品内裤| 91在线视频观看免费| 欧美电影免费看| 欧美精品 日韩| 日本久久久久久久久久| 视频一区欧美| 久久av中文字幕| 亚洲精品在线观看av| 国产日韩高清一区二区三区在线| 国产国语videosex另类| 92久久精品一区二区| eeuss国产一区二区三区| 欧洲久久久久久| a黄色片在线观看| 亚洲精品免费在线播放| 国产中文字幕二区| 国产精品久久久久久吹潮| 91精品一区二区三区久久久久久| 国产精品九九视频| 日韩精品水蜜桃| 美日韩丰满少妇在线观看| 日本三级中文字幕| 免费的成人av| 国产三区精品| 免费的黄网站在线观看| 精品国产乱码久久久久久天美| 日韩肉感妇bbwbbwbbw| 日韩成人久久| 亚洲香蕉成视频在线观看| www.av免费| 视频精品一区二区| 91精品国产高清久久久久久91裸体 | 137大胆人体在线观看| 亚洲专区一二三| 一级黄色特级片| 日韩mv欧美mv国产网站| 欧美国产亚洲精品久久久8v| 色婷婷久久综合中文久久蜜桃av| 波多野结衣一区二区三区 | 熟妇人妻av无码一区二区三区| 国产精品无人区| 久久久天堂国产精品| 欧洲亚洲两性| 欧美大片一区二区三区| 在线日韩国产网站| 日韩国产欧美在线播放| 精品久久久久久一区二区里番| 日本在线播放| 欧美这里有精品| 国产人妻人伦精品1国产丝袜| 自由日本语亚洲人高潮| 国产精品久久久久77777| 亚洲欧美日本在线观看| 亚洲一区二区三区精品在线| 日本成人xxx| 99精品在线观看| 国产97在线|亚洲| 天天摸夜夜添狠狠添婷婷| 综合av第一页| 97超碰成人在线| 日韩精品免费| 国产精品日韩专区| 成人精品一区二区三区校园激情| 狠狠躁天天躁日日躁欧美| 中文视频在线观看| 亚洲美女少妇无套啪啪呻吟| 国产成人精品日本亚洲11| 怡红院在线播放| 日韩一区二区电影网| 国产探花在线免费观看| 国产一区二区中文字幕| 天堂av免费看| 精品国产伦一区二区三区观看说明| 日韩中文字幕在线精品| 成人h动漫精品一区二区下载| 国产欧美日产一区| 鲁一鲁一鲁一鲁一av| 日韩一区二区三区免费播放| 国产精品欧美激情| 麻豆传媒视频在线| 日韩欧美一区电影| 久久黄色免费网站| 丁香五精品蜜臀久久久久99网站 | 白嫩情侣偷拍呻吟刺激| 亚洲精品影院在线观看| 九九九九九精品| 一根才成人网| 中文字幕在线看视频国产欧美在线看完整 | 三级在线免费看| 日韩片欧美片| 产国精品偷在线| 九色porny丨入口在线| 欧美videofree性高清杂交| 中文字幕在线观看成人| av高清久久久| www.色就是色| 欧美jizz| 91在线免费看片| sm在线播放| 中文字幕亚洲国产| 国产wwwxxx| 精品国产乱码久久久久久虫虫漫画| 美女久久久久久久久久| 麻豆精品一区二区| 男女啪啪免费观看| 你懂的在线观看一区二区| 国产成人精品免费久久久久| 超碰最新在线| 精品无人区太爽高潮在线播放 | 亚洲一级黄色录像| 国产麻豆一精品一av一免费| 日本网站免费在线观看| 99久久99热这里只有精品 | 亚洲精品18p| 欧美性猛交xxxx黑人| 麻豆一区在线观看| 成人黄色av电影| 日韩大片一区二区| 亚洲国产午夜| 国产精品av免费| 任你弄精品视频免费观看| 国产九九精品视频| www视频在线观看| 日韩有码在线观看| 日色在线视频| 欧美一区二区三区四区在线观看 | 婷婷亚洲图片| 九色91国产| 欧美影院在线| 国产精品久久久久久久久久久久| 色呦呦在线播放| 永久免费精品影视网站| 国模无码一区二区三区| 在线播放视频一区| 日日夜夜狠狠操| 亚洲r级在线视频| 成人做爰视频网站| 国产亚洲一区二区三区| 国产综合内射日韩久| 日本成人超碰在线观看| 99re99热| 欧美一区电影| 欧美极品一区二区| 999久久精品| 3d动漫精品啪啪一区二区三区免费| 日本不卡免费高清视频在线| 精品国偷自产在线视频99| 国产在线观看高清视频| 亚洲精品国产成人| 国产毛片毛片毛片毛片毛片| 欧美人与z0zoxxxx视频| 中文字幕在线播| 岛国av午夜精品| 久久久久无码国产精品不卡| 悠悠色在线精品| 亚洲二区在线播放| 亚洲三级在线看| 国产黄色录像片| 国产精品久久久久天堂| 欧美黄色高清视频| 国产日本欧洲亚洲| 国产精品国产三级国产专业不 | 成人欧美一区二区三区在线观看 | 红桃av永久久久| 日韩精品一区二区三区国语自制| 亚洲午夜一二三区视频| 免费中文字幕视频| 一区二区高清视频在线观看| 久久久久亚洲av片无码下载蜜桃| 一区二区三区在线看| 特级片在线观看| 亚洲一区二区三区四区在线| 精品少妇爆乳无码av无码专区| 亚洲中国最大av网站| 国产精品黄色大片| 色婷婷综合久久久久中文| 国产免费a视频| 欧美吻胸吃奶大尺度电影| 69av视频在线观看| 欧美午夜精品久久久| 亚洲一区二区激情| 91精品国产综合久久精品app| 国产精品视频久久久久久| 欧美一区二区三区男人的天堂| 97超碰人人模人人人爽人人爱| 精品国产91洋老外米糕| 天堂网在线资源| 亚洲欧美激情四射在线日| 黄色片视频在线观看| 日韩中文有码在线视频| jizz性欧美10| 色综合天天综合网国产成人网 | 精品国产av一区二区三区| 这里是久久伊人| 国精品人妻无码一区二区三区喝尿 | 国产99re66在线视频| 97av在线视频免费播放| 在线看欧美视频| 成人综合色站| 你懂的视频欧美| 自拍偷拍一区二区三区| 一区在线观看| 五月婷婷狠狠操| 国产精品一区二区久久精品爱涩| 色婷婷精品久久二区二区密| 久久精品亚洲精品国产欧美| 纪美影视在线观看电视版使用方法| 国产精品理论在线观看| 麻豆疯狂做受xxxx高潮视频| 色妞www精品视频| 国产99视频在线| 亚洲精品资源美女情侣酒店| 黄网站app在线观看| 国产+成+人+亚洲欧洲| yy6080久久伦理一区二区| av一区二区三区免费| 深爱激情综合网| 国产av不卡一区二区| 日韩精品1区2区3区| 黑人巨大猛交丰满少妇| 国产人伦精品一区二区| 久久免费少妇高潮99精品| 欧美性色aⅴ视频一区日韩精品| 性色av蜜臀av| 日韩在线视频中文字幕| 久久av色综合| 亚洲在线免费看| 成人aaaa| 欧美日韩二三区| 国产精品一二三四| 一级特黄曰皮片视频| 午夜视频在线观看一区| 国产裸体无遮挡| 国产一区二区三区三区在线观看| 欧美xxxx免费虐| 亚洲xxxxx性| 第一会所亚洲原创| 夫妻免费无码v看片| 国产大陆a不卡| 免费中文字幕日韩| 欧美午夜精品免费| 免费国产在线观看| 4k岛国日韩精品**专区| 9999久久久久| 日韩精品一区二区免费| 国内精品久久久久影院薰衣草| 天天躁日日躁aaaxxⅹ| 激情懂色av一区av二区av| 国产三级精品在线观看| 最好看的2019年中文视频| h片在线观看下载| 亚洲综合国产精品| 国产精品成人a在线观看| 男女视频一区二区三区| 91亚洲精品一区二区乱码| 在线看成人av| 精品国产乱码久久久久久免费| 3d玉蒲团在线观看| 成人天堂噜噜噜| 精品国产一区探花在线观看 | 久久久xxx| 亚洲天堂成人av| 精品久久久免费| 天堂在线观看av| 国产91av在线| 亚洲免费观看高清完整版在线观| 欧美在线一区视频| 99在线精品一区二区三区| 69视频免费在线观看| 精品性高朝久久久久久久| 韩国成人漫画| 奇米精品在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 在线免费观看视频| 欧美视频一区在线| 日本韩国一区| 国产精品吹潮在线观看| 日韩欧美一区二区三区免费看| 亚洲欧美自拍另类日韩| 国产精品久久久一本精品| 97成人在线观看| 欧美成人一区二区三区电影| 日韩一二三区在线观看| 黄网站色视频免费观看| 丁香天五香天堂综合| 91看片在线播放| 日韩精品诱惑一区?区三区| 久久免费精品视频| 欧美一区 二区| 一本久道综合色婷婷五月| 中文欧美字幕免费| 国产精品无码AV| 久久免费高清视频| 国内精品久久久久久久久电影网 | 精品久久久中文| 国产在线一二| 91欧美激情另类亚洲| 一本一道久久a久久精品蜜桃| 日本少妇xxxx| 欧美亚洲国产怡红院影院| 国产黄大片在线观看画质优化| 成人午夜电影免费在线观看| 丝袜国产日韩另类美女| 中文字幕观看av| 日韩精品在线视频观看| 色999韩欧美国产综合俺来也| av在线观看地址|