在做项目的时候有些顾客在提供数据集的时候是放在Excel中发来的,需要把图片进行提取到文件夹中。
代码如下:
from openpyxl import load_workbook
from openpyxl_image_loader import SheetImageLoader
from PIL import Image
import os
path = "D:/xxx/copy_stall/2019.xlsx" # Excel文件路径
saveDir = "D:/xxx/copy_stall/babe/" # 图片存储路径
count =0
wb = load_workbook(path) #
ws = wb[wb.sheetnames[0]]#获取excel的第一个表的信息
for image in ws._images:#获取全部图片信息
# print(image.anchor._from.col)
# if(image.anchor._from.col == 26 ):
count += 1
image = Image.open(image.ref).convert("RGB")
print(saveDir + "16" + "_" + '{:06}'.format(count) + ".jpg")
image.save(saveDir + "16" + "_" + '{:06}'.format(count) + ".jpg")
指定输出某一列的图片
for image in ws._images:#获取全部图片信息
if(image.anchor._from.col == 26 ):#当图片是26列时输出
count += 1
image = Image.open(image.ref).convert("RGB")
print(saveDir + "16" + "_" + '{:06}'.format(count) + ".jpg")
image.save(saveDir + "16" + "_" + '{:06}'.format(count) + ".jpg")
image.anchor._from是获取图片的横纵坐标。