使用Python操作Excel中圖片的基礎(chǔ)示例(插入、替換、提取、刪除)
Excel是主要用于處理表格和數(shù)據(jù)的工具,我們也能在其中插入、編輯或管理圖片,為工作表增添視覺(jué)效果,提升報(bào)告的吸引力。本文將詳細(xì)介紹如何使用Python操作Excel中的圖片,包含以下4個(gè)基礎(chǔ)示例:
- Python 在Excel中插入圖片
- Python 替換Excel中的圖片
- Python 提取Excel中的圖片
- Python 刪除Excel中的圖片
首先需要安裝第三方Python庫(kù)- Spire.XLS for Python??梢韵螺d產(chǎn)品后再?gòu)谋镜芈窂桨惭b使用,也可以直接使用以下pip命令安裝:
pip install Spire.XLS
Python 在Excel中插入圖片
我們可以使用Spire.XLS for Python庫(kù)在指定單元格中插入圖片,并設(shè)置圖片大小等。操作如下:
- 創(chuàng)建工作簿
Workbook
對(duì)象并獲取指定工作表; - 使用
Worksheet.Pictures.Add(int topRow, int leftColumn, Image image)
方法在工作表指定單元格中插入圖片; - 通過(guò)
ExcelPicture
類(lèi)下的各屬性設(shè)置圖片的寬度、高度、與單元格邊框的距離等; - 使用
SaveToFile()
方法保存Excel文件。
示例代碼:
from spire.xls import * from spire.xls.common import * # 創(chuàng)建Workbook對(duì)象 workbook = Workbook() # 獲取第一張工作表 sheet = workbook.Worksheets[0] # 在指定單元格中插入圖片(此處為第一行第二列,即B1單元格) picture = sheet.Pictures.Add(1, 2, "示例.png") # 設(shè)置圖片寬高度 picture.Width = 120 picture.Height = 120 # 調(diào)整圖片所在位置的列寬和行高 sheet.Columns[1].ColumnWidth = 20 sheet.Rows[0].RowHeight = 110 # 設(shè)置單元格邊框與圖片之間的距離 picture.LeftColumnOffset = 90 picture.TopRowOffset = 20 # 保存文件 workbook.SaveToFile("插入圖片.xlsx", ExcelVersion.Version2016) workbook.Dispose()
Python 替換Excel中的圖片
要用新圖片替換Excel中的原有圖片,可以參考如下步驟:
- 加載Excel文件,并獲取指定工作表;
- 通過(guò)
Worksheet.Pictures[]
屬性獲取指定圖片; - 加載新圖,并通過(guò)
ExcelPicture.Picture
屬性將指定圖片替換為新圖; - 使用
SaveToFile()
方法保存Excel文件。
示例代碼:
from spire.xls import * from spire.xls.common import * # 加載Excel文檔 workbook = Workbook() workbook.LoadFromFile ("插入圖片.xlsx") # 獲取第一張工作表 sheet = workbook.Worksheets[0] # 獲取工作表中第一張圖片 excelPicture = sheet.Pictures[0] # 替換圖片 excelPicture.Picture = Image.FromFile("pic.jpg") # 保存文檔 workbook.SaveToFile("替換圖片.xlsx", ExcelVersion.Version2016) workbook.Dispose()
Python 提取Excel中的圖片
Spire.XLS for Python庫(kù)也可以讀取Excel文檔中的圖片,并保存到指定的文件路徑。步驟如下:
- 加載Excel文件,并獲取指定工作表;
- 遍歷工作表中的所有圖片;
- 調(diào)用
ExcelPicture.Picture.Save()
方法提取Excel中的圖片。
示例代碼:
from spire.xls import * from spire.xls.common import * # 加載Excel文檔 workbook = Workbook() workbook.LoadFromFile("圖標(biāo).xlsx") # 獲取第一張工作表 sheet = workbook.Worksheets[0] # 獲取工作表中所有圖片 for i in range(sheet.Pictures.Count - 1, -1, -1): pic = sheet.Pictures[i] # 保存圖片 pic.Picture.Save("提取圖片\\圖片-{0:d}.png".format(i), ImageFormat.get_Png()) workbook.Dispose()
Python 刪除Excel中的圖片
Worksheet.Pictures[imgIndex].Remove()
方法允許我們通過(guò)索引刪除指定圖片。要?jiǎng)h除Excel中所有圖片,可以遍歷每張圖片然后刪除。示例代碼如下:
from spire.xls import * from spire.xls.common import * # 加載Excel文檔 workbook = Workbook() workbook.LoadFromFile("圖標(biāo).xlsx") # 獲取第一張工作表 sheet = workbook.Worksheets[0] # 刪除工作表中所有圖片 for i in range(sheet.Pictures.Count - 1, -1, -1): sheet.Pictures[i].Remove() # 刪除指定圖片 # sheet.Pictures[imgIndex].Remove() # 保存文檔 workbook.SaveToFile("刪除圖片.xlsx", ExcelVersion.Version2013) workbook.Dispose()
上述示例能幫助掌握使用Python在Excel中插入、替換、刪除圖片的技巧,并進(jìn)行一些基本的圖片設(shè)置。
到此這篇關(guān)于使用Python操作Excel中圖片的基礎(chǔ)示例(插入、替換、提取、刪除)的文章就介紹到這了,更多相關(guān)Python操作Excel圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用Opencv實(shí)現(xiàn)圖像特征檢測(cè)與匹配的方法
這篇文章主要介紹了Python使用Opencv實(shí)現(xiàn)圖像特征檢測(cè)與匹配的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10python實(shí)現(xiàn)基于兩張圖片生成圓角圖標(biāo)效果的方法
這篇文章主要介紹了python實(shí)現(xiàn)基于兩張圖片生成圓角圖標(biāo)效果的方法,實(shí)例分析了Python使用pil模塊進(jìn)行圖片處理的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03Python動(dòng)態(tài)配置管理Dynaconf的實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了Python動(dòng)態(tài)配置管理Dynaconf實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07python實(shí)現(xiàn)多進(jìn)程代碼示例
Python中大部分情況下都需要使用多進(jìn)程,Python中提供了multiprocessing這個(gè)包實(shí)現(xiàn)多進(jìn)程。multiprocessing支持子進(jìn)程、進(jìn)程間的同步與通信,本文就詳細(xì)的介紹一下2018-10-10Python實(shí)現(xiàn)雙向RNN與堆疊的雙向RNN的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)雙向RNN與堆疊的雙向RNN,文中詳細(xì)講解了雙向RNN與堆疊的雙向RNN的原理及實(shí)現(xiàn),需要的可以參考一下2022-07-07Python實(shí)現(xiàn)XML文件解析的示例代碼
本篇文章主要介紹了Python實(shí)現(xiàn)XML文件解析的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02一篇文章帶你了解python標(biāo)準(zhǔn)庫(kù)--os模塊
在本篇內(nèi)容里小編給大家整理的是關(guān)于Python中os模塊及用法相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以學(xué)習(xí)下,希望能給你帶來(lái)幫助2021-08-08python3中eval函數(shù)用法使用簡(jiǎn)介
這篇文章主要介紹了python3中eval函數(shù)用法使用簡(jiǎn)介,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08