如何使用Python批量提取Excel指定列中的所有图片?
Excel指定列全量图片提取Python实现
以下是修改后支持提取整列图片的可运行代码:
# 导入依赖模块 import os import openpyxl from openpyxl_image_loader import SheetImageLoader # -------------------------- 可修改参数 start -------------------------- EXCEL_PATH = 'myfile.xlsx' # Excel文件实际路径 SHEET_NAME = 'Sheet_name' # 要操作的工作表名称 TARGET_COLUMN = 'A' # 需要提取图片的目标列(比如提取B列就改为'B') SAVE_FOLDER = './excel_images' # 图片保存的文件夹路径 # -------------------------- 可修改参数 end -------------------------- # 自动创建保存文件夹,不存在则新建 os.makedirs(SAVE_FOLDER, exist_ok=True) # 加载Excel文件和工作表 pxl_doc = openpyxl.load_workbook(EXCEL_PATH) sheet = pxl_doc[SHEET_NAME] image_loader = SheetImageLoader(sheet) # 获取目标列的最大有效行数 max_row = sheet.max_row # 遍历目标列所有行提取图片 for row in range(1, max_row + 1): cell_pos = f"{TARGET_COLUMN}{row}" # 仅当单元格存在图片时执行提取保存 if image_loader.image_in(cell_pos): img = image_loader.get(cell_pos) # 按单元格位置命名,避免文件覆盖 img.save(os.path.join(SAVE_FOLDER, f"{cell_pos}.jpg")) print(f"已成功保存单元格{cell_pos}的图片")
使用说明
- 运行前先安装依赖:
pip install openpyxl openpyxl-image-loader - 按代码注释修改对应参数即可直接运行
- 无图片的单元格会自动跳过,不会抛出异常
- 如需保存为png等其他格式,修改save方法中文件后缀名即可
内容的提问来源于stack exchange,提问作者ahmed sayed
相关产品推荐
相关产品推荐

