Python提取 Excel內(nèi)容,這個(gè)需求頭一次見(jiàn),千個(gè)表,十行代碼
本文介紹
說(shuō)實(shí)話,這個(gè)需求頭一次碰到,我相信對(duì)于大多數(shù)朋友來(lái)說(shuō),也是頭一次碰到。“提取excel文本框中的內(nèi)容”,對(duì),你沒(méi)有聽(tīng)錯(cuò)!我也不知道你碰到過(guò)沒(méi)有,但是這確實(shí)是一位朋友提出的很好的問(wèn)題。
說(shuō)實(shí)話,Python操作excel的庫(kù)很多,但是我?guī)缀鯖](méi)有找到實(shí)現(xiàn)這個(gè)需求的api。比如說(shuō),我最常使用的openpyxl庫(kù),也沒(méi)有這個(gè)功能。
最后查閱一番,只有xlwings這個(gè)庫(kù)了!注意:這個(gè)庫(kù)是第三方庫(kù),大家一定要提前安裝,并且一定要使用最新版本!最新版本!最新版本!不然有些方法你無(wú)法使用。
- # 打開(kāi)cmd窗口,安裝xlwings庫(kù)
- pip install xlwings
- # 使用xlwings庫(kù)之前,需要提前導(dǎo)入
- import xlwings as xw
xlwings庫(kù)相關(guān)知識(shí)
首先,咱們看到的的xw.App()是xlwings庫(kù)中的一個(gè)函數(shù)。
- xw.App(visible=False,add_book=False)
其中:
- visible: True表示啟動(dòng)excel程序后顯示程序窗口。如果為False,表示啟動(dòng)excel程序后,程序窗口在后臺(tái)運(yùn)行;
- add_book: True表示啟動(dòng)excel程序后,新建一個(gè)空白工作簿。如果為False,表示啟動(dòng)excel程序后,不新建工作簿;
app.books.open(文件路徑)
上述函數(shù)用于幫助我們打開(kāi)工作簿,里面有一個(gè)參數(shù),傳入本地excel的路徑,用于打開(kāi)本地的工作簿。
完整代碼
因?yàn)檫@篇文章,只是簡(jiǎn)單介紹了xlwings庫(kù)的相關(guān)使用,有些屬性和方法類似于openpyxl,這里我就不詳細(xì)介紹了。Excel文本框中內(nèi)容如下:
直接上代碼:
- import xlwings as xw
- app = xw.App(visible=False,add_book=False)
- wb = app.books.open('test1.xlsx')
- for sheet in wb.sheets:
- for shape in sheet.shapes:
- if "TextBox" in shape.name:
- print(shape.text) # 一定要xlwings最新版本,老版本沒(méi)有text方法
- wb.close()
- app.quit()
結(jié)果如下:
當(dāng)然,這是針對(duì)某一個(gè)表,掌握了方法,給你多個(gè)表,不就是循環(huán)讀取就行嗎?
1000個(gè)表,自己可以下去嘗試一下哦!