国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何把Python和Excel兩大數(shù)據(jù)工具進行集成

數(shù)據(jù)分析與開發(fā) ? 來源:Python大數(shù)據(jù)分析 ? 作者:朱衛(wèi)軍 ? 2021-10-12 09:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這次我們會介紹如何使用xlwings將Python和Excel兩大數(shù)據(jù)工具進行集成,更便捷地處理日常工作。

說起Excel,那絕對是數(shù)據(jù)處理領(lǐng)域王者般的存在,盡管已經(jīng)誕生三十多年了,現(xiàn)在全球仍有7.5億忠實用戶,而作為網(wǎng)紅語言的Python,也僅僅只有700萬的開發(fā)人員。Excel是全世界最流行的編程語言。對,你沒看錯,自從微軟引入了LAMBDA定義函數(shù)后,Excel已經(jīng)可以實現(xiàn)編程語言的算法,因此它是具備圖靈完備性的,和JavaScript、Java、Python一樣。雖然Excel對小規(guī)模數(shù)據(jù)場景來說是剛需利器,但它面對大數(shù)據(jù)時就會有些力不從心。我們知道一張Excel表最多能顯示1048576行和16384列,處理一張幾十萬行的表可能就會有些卡頓,當(dāng)然你可以使用VBA進行數(shù)據(jù)處理,也可以使用Python來操作Excel。這就是本文要講到的主題,Python的第三方庫-xlwings,它作為Python和Excel的交互工具,讓你可以輕松地通過VBA來調(diào)用Python腳本,實現(xiàn)復(fù)雜的數(shù)據(jù)分析。

一、為什么將Python與Excel VBA集成?

VBA作為Excel內(nèi)置的宏語言,幾乎可以做任何事情,包括自動化、數(shù)據(jù)處理、分析建模等等,那為什么要用Python來集成Excel VBA呢?主要有以下三點理由:

1.  如果你對VBA不算精通,你可以直接使用Python編寫分析函數(shù)用于Excel運算,而無需使用VBA;
2.  Python相比VBA運行速度更快,且代碼編寫更簡潔靈活;
3.  Python中有眾多優(yōu)秀的第三方庫,隨用隨取,可以節(jié)省大量代碼時間;

對于Python愛好者來說,pandas、numpy等數(shù)據(jù)科學(xué)庫用起來可能已經(jīng)非常熟悉,如果能將它們用于Excel數(shù)據(jù)分析中,那將是如虎添翼。

二、為什么使用xlwings?

Python中有很多庫可以操作Excel,像xlsxwriter、openpyxl、pandas、xlwings等。但相比其他庫,xlwings性能綜合來看幾乎是最優(yōu)秀的,而且xlwings可以實現(xiàn)通過Excel宏調(diào)用Python代碼。

安裝xlwings非常簡單,在命令行通過pip實現(xiàn)快速安裝:

pipinstallxlwings

安裝好xlwings后,接下來需要安裝xlwings的 Excel集成插件,安裝之前需要關(guān)閉所有 Excel 應(yīng)用,不然會報錯。同樣在命令行輸入以下命令:

xlwingsaddininstall

出現(xiàn)下面提示代表集成插件安裝成功。4fbd771a-26b6-11ec-82a8-dac502259ad0.png
xlwings和插件都安裝好后,這時候打開Excel,會發(fā)現(xiàn)工具欄出現(xiàn)一個xlwings的菜單框,代表xlwings插件安裝成功,它起到一個橋梁的作用,為VBA調(diào)用Python腳本牽線搭橋。

另外,如果你的菜單欄還沒有顯示“開發(fā)工具”,那需要把“開發(fā)工具”添加到功能區(qū),因為我們要用到宏。步驟很簡單:1、在"文件"選項卡上,轉(zhuǎn)到"自定義>選項"。2、在“自定義功能區(qū)”和“主選項卡”下,選中“開發(fā)工具”復(fù)選框。

菜單欄顯示開發(fā)工具,就可以開始使用宏。如果你還不知道什么是宏,可以暫且把它理解成實現(xiàn)自動化及批量處理的工具。到這一步,前期的準(zhǔn)備工作就完成了,接下來就是實戰(zhàn)!

三、玩轉(zhuǎn)xlwings

要想在excel中調(diào)用python腳本,需要寫VBA程序來實現(xiàn),但對于不懂VBA的小伙伴來說就是個麻煩事。但xlwings解決了這個問題,不需要你寫VBA代碼就能直接在excel中調(diào)用python腳本,并將結(jié)果輸出到excel表中。xlwings會幫助你創(chuàng)建.xlsm.py兩個文件,在.py文件里寫python代碼,在.xlsm文件里點擊執(zhí)行,就完成了excel與python的交互。怎么創(chuàng)建這兩個文件呢?非常簡單,直接在命令行輸入以下代碼即可:

xlwingsquickstartProjectName

這里的ProjectName可以自定義,是創(chuàng)建后文件的名字。

如果你想把文件創(chuàng)建到指定文件夾里,需要提前將命令行導(dǎo)航到指定目錄。創(chuàng)建好后,在指定文件夾里會出現(xiàn)兩個文件,就是之前說的.xlsm.py文件。

我們打開.xlsm文件,這是一個excel宏文件,xlwings已經(jīng)提前幫你寫好了調(diào)用Python的VBA代碼。按快捷鍵Alt + F11,就能調(diào)出VBA編輯器。

SubSampleCall()
mymodule=Left(ThisWorkbook.Name,(InStrRev(ThisWorkbook.Name,".",-1,vbTextCompare)-1))
RunPython"import"&mymodule&";"&mymodule&".main()"
EndSub

里面這串代碼主要執(zhí)行兩個步驟:
1、在.xlsm文件相同位置查找相同名稱的.py文件2、調(diào)用.py腳本里的main()函數(shù)我們先來看一個簡單的例子,自動在excel表里輸入['a','b','c','d','e']第一步:我們把.py文件里的代碼改成以下形式。

importxlwingsasxw
importpandasaspd


defmain():
wb=xw.Book.caller()
values=['a','b','c','d','e']
wb.sheets[0].range('A1').value=values


@xw.func
defhello(name):
returnf"Hello{name}!"


if__name__=="__main__":
xw.Book("PythonExcelTest.xlsm").set_mock_caller()
main()

然后在.xlsm文件sheet1中創(chuàng)建一個按鈕,并設(shè)置默認(rèn)的宏,變成一個觸發(fā)按鈕。設(shè)置好觸發(fā)按鈕后,我們直接點擊它,就會發(fā)現(xiàn)第一行出現(xiàn)了['a','b','c','d','e']

同樣的,我們可以把鳶尾花數(shù)據(jù)集自動導(dǎo)入到excel中,只需要在.py文件里改動代碼即可,代碼如下:

importxlwingsasxw
importpandasaspd

defmain():
wb=xw.Book.caller()
df=pd.read_csv(r"E:\test\PythonExcelTest\iris.csv")
df['total_length']=df['sepal_length']+df['petal_length']
wb.sheets[0].range('A1').value=df


@xw.func
defhello(name):
returnf"Hello{name}!"


if__name__=="__main__":
xw.Book("PythonExcelTest.xlsm").set_mock_caller()
main()

好了,這就是在excel中調(diào)用Python腳本的全過程,你可以試試其他有趣的玩法,比如實現(xiàn)機器學(xué)習(xí)算法、文本清洗、數(shù)據(jù)匹配、自動化報告等等。Excel+Python,簡直法力無邊。

責(zé)任編輯:haq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Excel
    +關(guān)注

    關(guān)注

    4

    文章

    231

    瀏覽量

    57698
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90025

原文標(biāo)題:如何在 Excel 中調(diào)用 Python 腳本,實現(xiàn)數(shù)據(jù)自動化處理

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何使用Python讀取不間斷數(shù)據(jù),并將其傳輸?shù)絃abVIEW進行處理?

    使用Python讀取Count,如何將讀取到的數(shù)據(jù)傳輸至Labview;傳輸過程中Python要保持讀取的動作,不能停止。
    發(fā)表于 01-23 11:09

    兩大半導(dǎo)體巨頭,關(guān)廠!

    近日,市場傳出兩大半導(dǎo)體廠商關(guān)廠的消息,一是三星年內(nèi)將關(guān)閉一座8英寸晶圓廠,二是安靠將關(guān)閉日本函館封裝廠。
    的頭像 發(fā)表于 01-16 17:39 ?1062次閱讀

    最受歡迎的大數(shù)據(jù)可視化工具

    ?在數(shù)聚股份看來,大數(shù)據(jù)可視化是進行各種大數(shù)據(jù)分析的最重要組成部分之一。 一旦原始數(shù)據(jù)流被以圖像形式表示時,以此做決策就變得容易多了。 為了滿足并超越客戶的期望,
    的頭像 發(fā)表于 12-24 17:05 ?254次閱讀
    最受歡迎的<b class='flag-5'>大數(shù)據(jù)</b>可視化<b class='flag-5'>工具</b>

    大數(shù)據(jù)平臺運營的基礎(chǔ)是什么

    在數(shù)聚股份看來,越來越多的企業(yè)開始搭建自己的大數(shù)據(jù)平臺體系,并傾注大量資源用于平臺的迭代和運營。那么大數(shù)據(jù)平臺作為越來越被關(guān)注的企業(yè)新興價值點,它應(yīng)該以何種方式看待,并且以什么樣的方式去建設(shè)和運營
    的頭像 發(fā)表于 12-23 16:07 ?228次閱讀

    博世中國一舉斬獲兩大重要獎項

    12月11日,中國歐盟商會 2025 年可持續(xù)商業(yè)獎頒獎典禮在上海舉行。博世中國憑借在綠色制造及社區(qū)共創(chuàng)兩大領(lǐng)域的持續(xù)深耕,一舉斬獲兩大重要獎項。
    的頭像 發(fā)表于 12-22 15:06 ?553次閱讀

    曦智科技榮登2025VENTURE50兩大榜單

    2025年12月4日,由清科控股、投資界發(fā)起的 2025VENTURE50 榜單最終揭曉。曦智科技憑借卓越的創(chuàng)新實力與高成長性,榮登 “風(fēng)云50” 與 “硬科技50” 兩大榜單,收獲來自資本市場與產(chǎn)業(yè)領(lǐng)域的雙重認(rèn)可!
    的頭像 發(fā)表于 12-11 17:51 ?1252次閱讀

    labview如何實現(xiàn)數(shù)據(jù)的采集與實時預(yù)測

    現(xiàn)有以下問題:labview可以實現(xiàn)數(shù)據(jù)的采集以及調(diào)用python代碼,但如何將這項功能集成在一個VI文件里,從而實現(xiàn)數(shù)據(jù)的采集與實時預(yù)測
    發(fā)表于 12-03 21:13

    termux如何搭建python游戲

    安裝Python及包管理工具 ```bash apt install -y python python-pip# 自動安裝Python3
    發(fā)表于 08-29 07:06

    EXCEL導(dǎo)入—設(shè)計與思考

    EXCEL導(dǎo)入—設(shè)計與思考 一、案例信息與設(shè)計 1.1、案例需求與背景 B2BTC同城二期有一個Excel導(dǎo)入的功能,單次數(shù)據(jù)量小于一千,使用頻次不高。但涉及到多個字段組成唯一約束,即每條數(shù)據(jù)
    的頭像 發(fā)表于 08-20 16:56 ?636次閱讀
    <b class='flag-5'>EXCEL</b>導(dǎo)入—設(shè)計與思考

    樹莓派用戶必備的五大微軟Excel替代軟件!

    微軟Excel通常是處理XLS、XLSX或CSV等電子表格時首先考慮的工具。然而,由于它對ARM處理器和Linux操作系統(tǒng)缺乏原生支持,在樹莓派上使用微軟Excel頗具挑戰(zhàn)性。但這并不意味著沒有好
    的頭像 發(fā)表于 07-17 17:17 ?971次閱讀
    樹莓派用戶必備的五大微軟<b class='flag-5'>Excel</b>替代軟件!

    如何使用協(xié)議分析儀進行數(shù)據(jù)分析與可視化

    分析與可視化需結(jié)合工具功能與業(yè)務(wù)場景: 快速診斷:依賴內(nèi)置統(tǒng)計和IO Graph。 深度分析:導(dǎo)出數(shù)據(jù)Python/R進行統(tǒng)計建模。 長期監(jiān)控:
    發(fā)表于 07-16 14:16

    西門子EDA產(chǎn)品組合新增兩大解決方案

    西門子數(shù)字化工業(yè)軟件日前宣布為其電子設(shè)計自動化 (EDA) 產(chǎn)品組合新增兩大解決方案,助力半導(dǎo)體設(shè)計團隊攻克 2.5D/3D 集成電路 (IC) 設(shè)計與制造的復(fù)雜挑戰(zhàn)。
    的頭像 發(fā)表于 07-14 16:43 ?3256次閱讀

    DevEco Studio AI輔助開發(fā)工具兩大升級功能 鴻蒙應(yīng)用開發(fā)效率再提升

    ) 近似最近鄰:提高大規(guī)模數(shù)據(jù)集下的檢索效率。 (3) 檢索模型:用于高效檢索相關(guān)文檔。 2、 可控生成過程:將檢索結(jié)果作為生成模型的輸入,引導(dǎo)模型僅基于已驗證內(nèi)容進行回答,大幅降低“虛構(gòu)答案”的概率
    發(fā)表于 04-18 14:43

    python入門圣經(jīng)-高清電子書(建議下載)

    和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內(nèi)容; 第二部分將理論付諸實踐,講解如何開發(fā)三個項目,包括簡單的Python 2D 游戲開發(fā)如何利用
    發(fā)表于 04-10 16:53

    天合光能榮獲2025年“北極星杯”兩大獎項

    近日,2025年“北極星杯”儲能影響力企業(yè)評選頒獎典禮在浙江杭州隆重舉行。天合光能憑借前瞻性技術(shù)創(chuàng)新、卓越的系統(tǒng)集成能力以及出色的市場表現(xiàn),榮獲“儲能影響力系統(tǒng)集成商” “儲能技術(shù)創(chuàng)新企業(yè)”兩大獎項,充分彰顯其在儲能全產(chǎn)業(yè)鏈的技
    的頭像 發(fā)表于 03-17 18:10 ?1179次閱讀