python 通过url获取到的图片直接保存插入到excel中
import xlsxwriter
from io import BytesIO
import requests as req
from PIL import Image
import io
url="https://xxxxxx.png" # 图片的url
response = req.get(url)
img = Image.open(BytesIO(response.content)).convert("RGB")
size = (194, 194)
img.thumbnail(size)
new_name = url.split("/")[-1].split(".")[0]
buffer = io.BytesIO() # 创建缓存
img.save(buffer, format="png") # 把plt生成的图片保存在缓存中
# img_data = buffer.getvalue() # 获取缓存中的二进制文件
workbook = xlsxwriter.Workbook('a.xlsx') # 初始化workbook
worksheet1 = workbook.add_worksheet('sheet1') # 增加worksheet
worksheet1.insert_image(6, 0, '', {'image_data': buffer, 'x_scale': 1/1.1, 'y_scale': 1/0.93})
# insert_image(row,col,image,options)
# row:int行索引,col:int列索引,image:string图片文件名(含路径)
# options:dict
# {
# 'x_offset': 0, 水平方向偏移像素值
# 'y_offset': 0, 垂直方向偏移像素值
# 'x_scale': 1, 水平方向缩放比例
# 'y_scale': 1, 垂直方向缩放比例
# 'url': None,
# 'tip': None,
# 'image_data': None, 在io.BytesIO中添加内存中的字节流
# 'positioning': 2, 控制图片对象位置
# }
workbook.close() # 保存出xlsx文件
buffer.close() # 关闭缓存
效果: