python如何將圖片批量保存至word文檔中
將圖片批量保存至word文檔中
def picture_docx(path_picture,path_docx):
# 要插入的圖片所在的文件夾
#fold = 'C:\\Users\\Administrator\\Desktop\\tu'
fold = path_picture
# os.walk(fold)沒有返回值,所以這么做顯然沒有結(jié)果,是錯的
# pics=list(os.walk(fold)[3])
# # pics.pop()
# print(pics)
# pics是圖片的名字
# root是string類型, dirs和pics是list類型
for root, dirs, pics in os.walk(fold):
doc = Document()
for i in range(0, len(pics)):
# 不需要把文件后綴名去掉,后面的PIL庫里的open可以直接識別出文件名后綴
# print(pics[i],'\n')
# pics[i] = os.path.splitext(pics[i])[0]
# print(pics[i], '\n')
# 我前半部分的路徑直接復(fù)制黏貼了,沒用root和dirs
filepath = path_picture + pics[i]
# filepath = root + '\\' + str(pics[i])
try:
doc.add_picture(filepath, width=Inches(6), height=Inches(3))
except Exception:
pic_tmp = Image.open(filepath)
# 如果格式有問題,就用save轉(zhuǎn)換成默認的jpg格式
pic_tmp.save(pic_tmp)
# 把處理后的圖片放進Document變量doc中
doc.add_picture(filepath, width=Inches(6), height=Inches(3))
# 把Document變量doc保存到指定路徑的docx文件中
doc.save(path_docx + "PLS.docx")
# 輸出保存成功的標志
print("pic", i + 1, "successfully added.")
將本地圖片存儲到word文檔
想要利用Python來操作word文檔可以使用docx模塊.
安裝: pip install python-docx
from docx import Document
from docx.shared import Inches
string = '文字內(nèi)容'
images = '1.jpg' # 保存在本地的圖片
doc = Document() # doc對象
doc.add_paragraph(string) # 添加文字
doc.add_picture(images, width=Inches(2)) # 添加圖, 設(shè)置寬度
doc.save('word文檔.docx') # 保存路徑執(zhí)行結(jié)果: 本地生成了一個Word文檔, 打開之后.

但是有時添加圖片會產(chǎn)生識別異常:

這是因為圖片的格式問題, 對比一下 0.jpg 和 1.jpg的二進制數(shù)據(jù), 添加0.jpg會異常, 1.jpg則不會.

解決的方法
圖片格式轉(zhuǎn)換
from docx import Document
from docx.shared import Inches
from PIL import Image
string = '文字內(nèi)容'
images = '0.jpg' # 保存在本地的圖片
doc = Document()
doc.add_paragraph(string) # 添加文字
try:
doc.add_picture(images, width=Inches(2)) # 添加圖, 設(shè)置寬度
except Exception:
jpg_ima = Image.open(images) # 打開圖片
jpg_ima.save('0.jpg') # 保存新的圖片
doc.add_picture(images, width=Inches(2)) # 添加圖, 設(shè)置寬度
doc.save('word文檔.docx') # 保存路徑結(jié)果就和前面一樣了:

docx庫還有很多的方法,大家可以查看文檔。
https://python-docx.readthedocs.io/en/latest/
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談tensorflow中Dataset圖片的批量讀取及維度的操作詳解
今天小編就為大家分享一篇淺談tensorflow中Dataset圖片的批量讀取及維度的操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
在Python的Flask框架下使用sqlalchemy庫的簡單教程
這篇文章主要介紹了在Python的Flask框架下使用sqlalchemy庫的簡單教程,用來簡潔地連接與操作數(shù)據(jù)庫,需要的朋友可以參考下2015-04-04
pycharm與jupyter?lab/notebook結(jié)合使用方式
這篇文章主要介紹了pycharm與jupyter?lab/notebook結(jié)合使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
python bmp轉(zhuǎn)換為jpg 并刪除原圖的方法
今天小編就為大家分享一篇python bmp轉(zhuǎn)換為jpg 并刪除原圖的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Python+OpenCV圖片局部區(qū)域像素值處理改進版詳解
這篇文章主要為大家詳細介紹了Python+OpenCV圖片局部區(qū)域像素值處理的改進版,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01

