Python 提取Excel中的图片并保存

excel 第一列是字符,第二列是图片

from email.mime import image
from openpyxl import load_workbook
from openpyxl_image_loader import SheetImageLoader
def extract_images(slsx_fn):
    
    xlspath=r'c:/'#excell路径
    savedir="c:/" #图片保存路径
    ws=load_workbook(xlspath+slsx_fn).worksheets[0]
    image_loader=SheetImageLoader(ws)
    for index,row in enumerate(ws.rows,start=1):
        if image_loader.image_in(f'B{index}'):
            image=image_loader.get(f'B{index}')
            name=row[0].value
            image.save(savedir+name+'.jpg')
extract_images('shao.xlsx')

参考:

Python 批量提取Excel中的图片,图片文件名按指定列存储_霍蛋的博客-CSDN博客

他的代码如下:

from openpyxl import load_workbook
from openpyxl_image_loader import SheetImageLoader

path = r'C:/Users/an/Desktop/guang2/'   # Excel文件路径
saveDir = "C:/Users/an/Desktop/guang2/tu/"  # 图片存储路径

wb = load_workbook(path + 'a.xlsx')  # Excel文件名
ws = wb['Sheet1']
image_loader = SheetImageLoader(ws)
num = ws.max_row  # 总行数,我也不知道为什么是row

for i in range(2, num+1):  #  从第2行开始,总行数要+1
    try:
        name = ws['A'+str(i)].value  # A列的文件名
        # print(i)
        image = image_loader.get('C'+str(i)) # C列的图片
        image.save(saveDir + name + ".jpg") # 以Ai为名,存图片Ci
    # 排除没有图片,或图片超出单元格的情况
    except ValueError: 
        print("caonm这一行没有图片:" ,i)
'''
测试
image=image_loader.get('C2')  # 提取C2中的图片
image.show()
'''

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值