使用Python操作Excel中圖片的基礎(chǔ)示例(插入、替換、提取、刪除)
Excel是主要用于處理表格和數(shù)據(jù)的工具,我們也能在其中插入、編輯或管理圖片,為工作表增添視覺效果,提升報告的吸引力。本文將詳細介紹如何使用Python操作Excel中的圖片,包含以下4個基礎(chǔ)示例:
- Python 在Excel中插入圖片
- Python 替換Excel中的圖片
- Python 提取Excel中的圖片
- Python 刪除Excel中的圖片
首先需要安裝第三方Python庫- Spire.XLS for Python??梢韵螺d產(chǎn)品后再從本地路徑安裝使用,也可以直接使用以下pip命令安裝:
pip install Spire.XLS
Python 在Excel中插入圖片
我們可以使用Spire.XLS for Python庫在指定單元格中插入圖片,并設(shè)置圖片大小等。操作如下:
- 創(chuàng)建工作簿
Workbook對象并獲取指定工作表; - 使用
Worksheet.Pictures.Add(int topRow, int leftColumn, Image image)方法在工作表指定單元格中插入圖片; - 通過
ExcelPicture類下的各屬性設(shè)置圖片的寬度、高度、與單元格邊框的距離等; - 使用
SaveToFile()方法保存Excel文件。
示例代碼:
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建Workbook對象
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文件,并獲取指定工作表;
- 通過
Worksheet.Pictures[]屬性獲取指定圖片; - 加載新圖,并通過
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庫也可以讀取Excel文檔中的圖片,并保存到指定的文件路徑。步驟如下:
- 加載Excel文件,并獲取指定工作表;
- 遍歷工作表中的所有圖片;
- 調(diào)用
ExcelPicture.Picture.Save()方法提取Excel中的圖片。
示例代碼:
from spire.xls import *
from spire.xls.common import *
# 加載Excel文檔
workbook = Workbook()
workbook.LoadFromFile("圖標.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() 方法允許我們通過索引刪除指定圖片。要刪除Excel中所有圖片,可以遍歷每張圖片然后刪除。示例代碼如下:
from spire.xls import *
from spire.xls.common import *
# 加載Excel文檔
workbook = Workbook()
workbook.LoadFromFile("圖標.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中插入、替換、刪除圖片的技巧,并進行一些基本的圖片設(shè)置。
到此這篇關(guān)于使用Python操作Excel中圖片的基礎(chǔ)示例(插入、替換、提取、刪除)的文章就介紹到這了,更多相關(guān)Python操作Excel圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python如何利用Pandas與NumPy進行數(shù)據(jù)清洗
許多數(shù)據(jù)科學(xué)家認為獲取和清理數(shù)據(jù)的初始步驟占工作的 80%,花費大量時間來清理數(shù)據(jù)集并將它們歸結(jié)為可以使用的形式。本文將利用 Python 的 Pandas和 NumPy 庫來清理數(shù)據(jù),需要的可以參考一下2022-04-04
Python讀取配置文件-ConfigParser的二次封裝方法
這篇文章主要介紹了Python讀取配置文件-ConfigParser的二次封裝方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
python網(wǎng)絡(luò)編程學(xué)習筆記(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
在python中能夠進行html和xhtml的庫有很多,如HTMLParser、sgmllib、htmllib、BeautifulSoup、mxTidy、uTidylib等,這里介紹一下HTMLParser、BeautifulSoup等模塊2014-06-06
tensorflow下的圖片標準化函數(shù)per_image_standardization用法
這篇文章主要介紹了tensorflow下的圖片標準化函數(shù)per_image_standardization用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

