Python3,区区10行代码,批量把图片插入Excel指定单元格中,省下时间去烫头发。
這里寫目錄標題
- 1、引言
- 2、代碼實戰
- 2.1 代碼示例
- 2.2 遇到問題及處理方案
- 2.2.1 遇到問題
- 2.2.2 解決方案
- 3、總結
1、引言
小屌絲:魚哥, 想請教你個問題。
小魚:啥問題呢?
小屌絲:我想把圖片插入到excel里面
小魚:這個還用問我? 你是昨晚喝多了?
小屌絲:不是的,我是想把圖片插入到excel單元格里面
小魚:這么簡單的操作,你竟然也說得出口!
小屌絲:不是的,我是想批量插入圖片
小魚:excel不支持批量插入圖片功能??
小屌絲:是的,我想把圖片批量按照名稱和統一尺寸,放入到單元格里面
小魚:昂… 這個 excel也能批量操作啊。
小屌絲:太費勁了, 我有100多張圖片, 我還得手動調單元格的大小,
小魚:那確實挺多的, 那你就慢慢搞一下了,閑著也是閑著…
小屌絲:魚哥,別啊,節省的時間,去泡個澡,剪個頭發,不舒服嗎?
小魚:也對,不過現在剪頭發都是198了…
小屌絲:沒事魚哥, 我有券…
小魚:那… 等我會啊…
2、代碼實戰
2.1 代碼示例
代碼示例
# -*- coding: utf-8 -*- # @Time : 2022-12-05 # @Author : Carl_DJ''' 實現功能:在excel中,對應的名稱后面,插入圖片'''import openpyxl,PIL from openpyxl.drawing.image import Image import os#excel文件路徑 excel_path = './pic/image.xlsx'#圖片名稱為A列 img_name_column = 'A'#圖片寫入B列 img_column = 'B' #讀取圖片的地址 img_path = './data/picture'#轉換圖片格式,強制轉換成jpg格式 # img_type = PIL.Image.open(img_path).convert("RGB") # img_type.save(img_path, 'jpeg')#打開excel文件 wb = openpyxl.load_workbook(excel_path) #獲取sheet頁 ws = wb.activefor i, v in enumerate(ws[img_name_column], start=1):#圖片路徑img_file_path = os.path.join(img_path, f"{v.value}.jpg")#獲取圖片img = Image(img_file_path)#設置圖片的大小img.width, img.height = (110, 110)# 設置表格的寬20和高85ws.column_dimensions[img_column].width = 20ws.row_dimensions[i].height = 85# 圖片插入名稱對應單元格ws.add_image(img, anchor=img_column + str(i))#保存 wb.save(excel_path) # 保存 #關閉 wb.close() print(f'保存完成')運行結果
2.2 遇到問題及處理方案
2.2.1 遇到問題
這里,小魚在運行腳本時, 遇到一個錯誤提示,
圖片的類型是 “.webp”,如下:
我首先看圖片的后綴,是不是.webp,發現,已修改為.jpg
于是,小魚就想到了,是不是下載圖片的時候, 雖然圖片的后綴改成.jpg,但是,圖片的本質,還是**.webp**格式,
為了驗證小魚的猜想,我就重新下載一次百度圖片,如下:
確實,是這樣的。
2.2.2 解決方案
遇到這種問題,兩種解決方案:
1、直接下載jgp格式的圖片;
可以參照小魚的這篇《Python3,5行代碼,讓你擁有無限量壁紙美圖》 ,這樣下載的都是jpg格式的圖片。
2、代碼強制轉換:
強制轉換圖片格式:
#轉換圖片格式,強制轉換成jpeg格式 img_type = PIL.Image.open(img_path).convert("RGB") img_type.save(img_path, 'jpeg')3、總結
看到這里,今天的分享就差不多結束了。
在2022年初的時候, 小魚把圖片寫入到excel里面,得到的反饋很不錯。
- 《Python3,19行代碼,我把她的照片寫入到Excel中,2022年伊始,她終于被我感動了。》
今天,在2023年的年初 ,我們把圖片插入到單元格中,可算是把圖片與excel玩的明明白白的。
當然,
關于python的更多更有趣的知識, 可以關注小魚的 Python專欄。
我是小魚:
- CSDN 博客專家;
- 阿里云社區 專家博主;
- 51CTO博客專家;
- 51 認證講師;
- 企業金牌面試官;
關注我,帶你學習更多更有趣的Python知識。
總結
以上是生活随笔為你收集整理的Python3,区区10行代码,批量把图片插入Excel指定单元格中,省下时间去烫头发。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学编辑器——AxMath
- 下一篇: Topaz Photo AI V1.1.