今天在写爬虫时,希望将一些图片一并放入excel,但是使用openpyxl
操作后,最后的保存结果只剩一张图。经过多次测试,最终发现每次插入图片时需要重新加载一次图片。代码如下:
import os
import openpyxl
from openpyxl.drawing.image import Image
path = os.getcwd()
wb = openpyxl.load_workbook(path+'/start/start.xlsx') #打开excel
sheet = wb.worksheets[0] #加载工作簿
for row in sheet.iter_rows(): #遍历每一行
img = path+'/images/1.jpg' #每次遍历都重新打开这张图片,以免出错
sheet.add_image(Image(img),row[0].coordinate) #添加图片
wb.save(path+'/final/final.xlsx') #保存
如果需要添加不同的图片,则不能用相同的文件名来命名图片。