色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

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

數(shù)據(jù)分析與開(kāi)發(fā) ? 來(lái)源:Python大數(shù)據(jù)分析 ? 作者:朱衛(wèi)軍 ? 2021-10-12 09:41 ? 次閱讀

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

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

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

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

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

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

二、為什么使用xlwings?

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

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

pipinstallxlwings

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

xlwingsaddininstall

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

另外,如果你的菜單欄還沒(méi)有顯示“開(kāi)發(fā)工具”,那需要把“開(kāi)發(fā)工具”添加到功能區(qū),因?yàn)槲覀円玫胶辍2襟E很簡(jiǎn)單:1、在"文件"選項(xiàng)卡上,轉(zhuǎn)到"自定義>選項(xiàng)"。2、在“自定義功能區(qū)”和“主選項(xiàng)卡”下,選中“開(kāi)發(fā)工具”復(fù)選框。

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

三、玩轉(zhuǎn)xlwings

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

xlwingsquickstartProjectName

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

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

我們打開(kāi).xlsm文件,這是一個(gè)excel宏文件,xlwings已經(jīng)提前幫你寫(xiě)好了調(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í)行兩個(gè)步驟:
1、在.xlsm文件相同位置查找相同名稱(chēng)的.py文件2、調(diào)用.py腳本里的main()函數(shù)我們先來(lái)看一個(gè)簡(jiǎn)單的例子,自動(dòng)在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)建一個(gè)按鈕,并設(shè)置默認(rèn)的宏,變成一個(gè)觸發(fā)按鈕。設(shè)置好觸發(fā)按鈕后,我們直接點(diǎn)擊它,就會(huì)發(fā)現(xiàn)第一行出現(xiàn)了['a','b','c','d','e']

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

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腳本的全過(guò)程,你可以試試其他有趣的玩法,比如實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法、文本清洗、數(shù)據(jù)匹配、自動(dòng)化報(bào)告等等。Excel+Python,簡(jiǎn)直法力無(wú)邊。

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

    關(guān)注

    4

    文章

    218

    瀏覽量

    55533
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84745

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用Python進(jìn)行串口通信的案例

    當(dāng)然!以下是一個(gè)使用Python進(jìn)行串口通信的簡(jiǎn)單示例。這個(gè)示例展示了如何配置串口、發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)。我們將使用 pyserial 庫(kù),這是一個(gè)非常流行的用于串口通信的
    的頭像 發(fā)表于 11-22 09:11 ?237次閱讀

    智慧城市與大數(shù)據(jù)的關(guān)系

    的建設(shè)需要對(duì)海量的數(shù)據(jù)資源進(jìn)行收集、整合、存儲(chǔ)與分析。大數(shù)據(jù)技術(shù)的應(yīng)用,如智能感知、分布式存儲(chǔ)等,使得這些數(shù)據(jù)能夠被高效地處理和利用。 決策支持 : 在智慧城市的建設(shè)和運(yùn)行過(guò)程中,
    的頭像 發(fā)表于 10-24 15:27 ?708次閱讀

    IP 地址大數(shù)據(jù)分析如何進(jìn)行網(wǎng)絡(luò)優(yōu)化?

    一、大數(shù)據(jù)分析在網(wǎng)絡(luò)優(yōu)化中的作用 1.流量分析 大數(shù)據(jù)分析可以對(duì)網(wǎng)絡(luò)中的流量進(jìn)行實(shí)時(shí)監(jiān)測(cè)和分析,了解網(wǎng)絡(luò)的使用情況和流量趨勢(shì)。通過(guò)對(duì)流量數(shù)據(jù)的分析,可以發(fā)現(xiàn)網(wǎng)絡(luò)中的瓶頸和問(wèn)題,為網(wǎng)絡(luò)優(yōu)
    的頭像 發(fā)表于 10-09 15:32 ?246次閱讀
    IP 地址<b class='flag-5'>大數(shù)據(jù)</b>分析如何<b class='flag-5'>進(jìn)行</b>網(wǎng)絡(luò)優(yōu)化?

    基于Kepware的Hadoop大數(shù)據(jù)應(yīng)用構(gòu)建-提升數(shù)據(jù)價(jià)值利用效能

    處理超大數(shù)據(jù)集。 Hadoop的生態(tài)系統(tǒng)非常豐富,包括許多相關(guān)工具和技術(shù),如Hive、Pig、HBase等,這些工具可以方便地構(gòu)建復(fù)雜的大數(shù)據(jù)應(yīng)用。Hadoop廣泛應(yīng)用于各種場(chǎng)景,包括
    的頭像 發(fā)表于 10-08 15:12 ?164次閱讀
    基于Kepware的Hadoop<b class='flag-5'>大數(shù)據(jù)</b>應(yīng)用構(gòu)建-提升<b class='flag-5'>數(shù)據(jù)</b>價(jià)值利用效能

    使用Python進(jìn)行Ping測(cè)試

    )請(qǐng)求包,然后等待目標(biāo)主機(jī)返回響應(yīng)包,從而測(cè)量網(wǎng)絡(luò)的延遲和丟包情況。隨著Python編程語(yǔ)言的廣泛應(yīng)用,越來(lái)越多的網(wǎng)絡(luò)工程師開(kāi)始使用Python進(jìn)行自動(dòng)化網(wǎng)絡(luò)測(cè)試和管理任務(wù)。本篇文章將詳細(xì)介紹如何使用
    的頭像 發(fā)表于 08-12 17:56 ?516次閱讀
    使用<b class='flag-5'>Python</b><b class='flag-5'>進(jìn)行</b>Ping測(cè)試

    使用CYW20829的BLE進(jìn)行大數(shù)據(jù)發(fā)送應(yīng)用,BLE丟失數(shù)據(jù)如何解決?

    我目前正在使用 CYW20829 的 BLE 進(jìn)行大數(shù)據(jù)發(fā)送應(yīng)用,我使用的是 FREERTOS(例程 Bluetooth_LE_GATT_Throughput_Server 是我的參考),藍(lán)牙被
    發(fā)表于 07-23 07:56

    用pycharm進(jìn)行python爬蟲(chóng)的步驟

    以下是使用PyCharm進(jìn)行Python爬蟲(chóng)的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyCharm是一個(gè)流行的
    的頭像 發(fā)表于 07-11 10:11 ?868次閱讀

    數(shù)據(jù)分析的工具有哪些

    數(shù)據(jù)分析是一個(gè)涉及收集、處理、分析和解釋數(shù)據(jù)以得出有意義見(jiàn)解的過(guò)程。在這個(gè)過(guò)程中,使用正確的工具至關(guān)重要。以下是一些主要的數(shù)據(jù)分析工具,以及
    的頭像 發(fā)表于 07-05 14:54 ?877次閱讀

    使用Python進(jìn)行自然語(yǔ)言處理

    在探討使用Python進(jìn)行自然語(yǔ)言處理(NLP)的廣闊領(lǐng)域時(shí),我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優(yōu)勢(shì),以及如何通過(guò)Python實(shí)現(xiàn)一些基礎(chǔ)的NLP任務(wù)
    的頭像 發(fā)表于 07-04 14:40 ?459次閱讀

    如何使用Python進(jìn)行神經(jīng)網(wǎng)絡(luò)編程

    。 為什么使用PythonPython是一種廣泛使用的高級(jí)編程語(yǔ)言,以其易讀性和易用性而聞名。Python擁有強(qiáng)大的庫(kù),如TensorFlow、Keras和PyTorch,這些庫(kù)提供了構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)的
    的頭像 發(fā)表于 07-02 09:58 ?412次閱讀

    Microsoft Excel融入手寫(xiě)筆功能,助您快速插入、刪除單元格數(shù)據(jù)

     Microsoft今日宣布,向Microsoft 365內(nèi)部人士開(kāi)放Windows版本Excel的“Ink to Text”功能的試用機(jī)會(huì)。此工具旨在將手寫(xiě)字跡轉(zhuǎn)為文字,使表格數(shù)據(jù)填充更便捷高效。
    的頭像 發(fā)表于 04-30 14:16 ?1008次閱讀

    大數(shù)據(jù)技術(shù)是干嘛的 大數(shù)據(jù)核心技術(shù)有哪些

    大數(shù)據(jù)技術(shù)是指用來(lái)處理和存儲(chǔ)海量、多類(lèi)型、高速的數(shù)據(jù)的一系列技術(shù)和工具。現(xiàn)如今,大數(shù)據(jù)已經(jīng)滲透到各個(gè)行業(yè)和領(lǐng)域,對(duì)企業(yè)決策和業(yè)務(wù)發(fā)展起到了重要作用。本文將詳細(xì)介紹
    的頭像 發(fā)表于 01-31 11:07 ?3515次閱讀

    eda工具軟件有哪些 EDA工具有什么優(yōu)勢(shì)

    和預(yù)測(cè)提供基礎(chǔ)。在進(jìn)行EDA過(guò)程中,使用合適的工具軟件可以顯著提升效率和準(zhǔn)確性。本文將介紹幾種常見(jiàn)的EDA工具軟件。 Python和其相關(guān)的庫(kù) Py
    的頭像 發(fā)表于 01-30 13:57 ?1175次閱讀

    如何使用Python進(jìn)行圖像識(shí)別的自動(dòng)學(xué)習(xí)自動(dòng)訓(xùn)練?

    如何使用Python進(jìn)行圖像識(shí)別的自動(dòng)學(xué)習(xí)自動(dòng)訓(xùn)練? 使用Python進(jìn)行圖像識(shí)別的自動(dòng)學(xué)習(xí)和自動(dòng)訓(xùn)練需要掌握一些重要的概念和技術(shù)。在本文中,我們將介紹如何使用
    的頭像 發(fā)表于 01-12 16:06 ?602次閱讀

    labview處理excel數(shù)據(jù)中的粗大誤差

    實(shí)際應(yīng)用中,我們經(jīng)常需要處理和分析來(lái)自不同來(lái)源的數(shù)據(jù)。其中,Excel表格是一個(gè)常見(jiàn)的數(shù)據(jù)格式,因?yàn)樗子谑褂煤凸芾怼H欢?b class='flag-5'>Excel數(shù)據(jù)
    的頭像 發(fā)表于 01-05 16:15 ?940次閱讀
    主站蜘蛛池模板: 97无码欧美熟妇人妻蜜| u15女少天堂写真| 文中字幕一区二区三区视频播放| 日本强好片久久久久久AAA| 秋葵app秋葵官网18在线观看| 人人听力网mp3下载| 天天国产在线精品亚洲| 性xxx在线观看| 亚洲精品在线观看视频| 在线超碰免费视频观看| 97午夜伦伦电影理论片| 抽插内射高潮呻吟爆乳| 国产露脸无码A区久久| 精品欧美一区二区三区四区| 美女脱精光让男生桶下面| 欧美深深色噜噜狠狠yyy| 少妇无码吹潮久久精品AV| 亚洲第一综合天堂另类专| 在线a视频| 超碰caoporn| 国产中文在线| 美女挑战50厘米长的黑人| 入禽太深免费观看| 亚洲国产日韩欧美视频二区| 2019欧洲hd| 贵妃高h荡肉呻吟np杨玉环| 黄色三级图片| 欧洲videosdesrxotv| 香蕉精品国产高清自在自线| 中文字幕精品在线观看| 床伴在线观看免费高清完整泰剧第四集 | 国语对白嫖老妇胖老太| 免费视频久久只有精品| 无码一区国产欧美在线资源| 在线看片av以及毛片| 顶级欧美不卡一区二区三区| 九九热视频在线观看| 日本邪恶全彩工囗囗番海贼王| 一本道的mv中文字幕| 成人区在线观看免费视频 | asmr淫语|