微信扫码
添加专属顾问
我要投稿
AI助力办公效率革命:5分钟搞定500张图片批量提取,告别重复劳动! 核心内容: 1. AI时代生产力窗口的变革:从人工操作到AI执行 2. 实战演示:使用Antigravity工具快速提取Excel图片 3. 操作技巧:命名规则与批量处理的关键要点
在开始之前,先对上一篇内容稍作补充。上一篇提到AI正在推动生产力提升,但这一点很多人尚未完全意识到。其实生产力的提升是一个渐进的过程。回顾办公室信息化的发展:从MRP加速ERP系统的普及,到CRM、OA、HR等系统相继出现,这些系统把很多办公人员的工作界面,从一张张A4纸转移到了电脑软件窗口里——窗口变多了,层次也更连续了。后来,飞书、钉钉、企业微信等工具进一步整合了沟通、流程、文档与目标管理,使得工作窗口的维度更大,但信息密度也急剧增加。
那么来到AI时代,那个终极的“生产力操作窗口”会是什么?为什么无论是OpenAI、Google、Anthropic这类模型公司,还是Manus、Lovart等AI创业公司,都在全力开发和打造自己的客户端环境?说得直白一些,这其实也是在争夺入口、抢占用户的心智。这个AI生产力操作环境,就包括之前提到过的Claude Code、Codex、Codebuddy、Gemini Cli等编程辅助工具,以及Cursor、Antigravity这类专为编程设计的工具,还有Ok Computer、Google AI Studio等集成开发环境。
1.xlsx文件在哪个目录下?是在当前工作区
/Users/DeepAI/Documents/ql中吗?
pic文件夹应该创建在哪里?与
1.xlsx同级目录吗?
Excel 图片提取任务完成报告
任务概述
成功从 1.xlsx文件中提取 B 列的图片,并使用 A 列的代码作为文件名保存到 pic 文件夹中。
执行步骤
1. 环境准备
确认 1.xlsx文件位于 /Users/DeepAI/Documents/ql 目录
确认 pic 文件夹已存在
安装必要的 Python 库 openpyxl
2. 脚本开发
创建了 extract_images.py脚本,实现以下功能:
读取 Excel 文件中的 A 列代码
提取 B 列中的图片
自动识别图片格式(PNG/JPEG等)
使用 A 列代码作为文件名
处理重复代码(添加序号后缀)
3. 执行结果
✅ 成功提取 481 张图片
图片格式分布
PNG 格式: 478 张
JPEG 格式: 3 张 (x.xx.xx.0041, x.xx.xx.0042, x.xx.xx.0043)
文件命名示例
x.xx.xx.0086.png
x.xx.xx.0087.png
x.xx.xx.3968.png
x.xx.xx.1281.png
x.xx.xx.0041.jpeg
4. 验证检查
# 文件总数
$ ls pic | wc -l
481
# 文件大小示例
$ ls -lh pic | head -10
-rw-r--r-- 682K x.xx.xx.0086.png
-rw-r--r-- 642K x.xx.xx.0087.png
-rw-r--r-- 6.3K x.xx.xx.3968.png
-rw-r--r-- 120K x.xx.xx.4068.png
技术实现
核心技术
openpyxl: 用于读取 Excel 文件和提取嵌入图片
图片格式识别: 通过文件头字节自动识别图片格式
重复处理: 使用计数器为重复代码添加序号
关键代码逻辑
加载 Excel 工作簿
读取 A 列所有代码并建立行号映射
遍历工作表中的所有图片对象
根据图片位置(锚点)确定所在行和列
匹配 B 列图片与对应的 A 列代码
保存图片并处理文件名冲突
任务完成状态
读取 Excel 文件
提取 B 列图片
使用 A 列代码命名
保存到 pic 文件夹
保持原始图片格式
处理重复代码(添加序号)
验证提取结果
输出位置
所有图片已保存至: /Users/DeepAI/Documents/ql/pic/
提取脚本位置:
extract_images.py
该文件的源码公布,其实没什么鸟用,你根本不需要看懂。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
从 Excel 文件中提取图片并按照指定规则保存
"""
importos
fromopenpyxlimportload_workbook
fromopenpyxl.drawing.imageimport Image asOpenpyxlImage
fromcollectionsimportdefaultdict
defextract_images_from_excel(excel_path, output_dir):
"""
从 Excel 文件中提取图片
Args:
excel_path: Excel 文件路径
output_dir: 输出目录
"""
# 确保输出目录存在
os.makedirs(output_dir, exist_ok=True)
# 加载工作簿
print(f"正在加载 Excel 文件: {excel_path}")
wb=load_workbook(excel_path)
ws=wb.active
# 读取 A 列的代码
print("正在读取 A 列代码...")
codes= {}
forrowinrange(1, ws.max_row+1):
cell_value=ws.cell(row=row, column=1).value
ifcell_value:
codes[row] =str(cell_value).strip()
print(f"找到 {len(codes)} 个代码")
# 用于跟踪重复的文件名
filename_counter=defaultdict(int)
# 提取图片
print("正在提取图片...")
saved_count=0
# 检查工作表中的图片
ifhasattr(ws, '_images') andws._images:
forimginws._images:
# 获取图片所在的行
# openpyxl 中图片的 anchor 属性包含位置信息
ifhasattr(img, 'anchor') andhasattr(img.anchor, '_from'):
row=img.anchor._from.row+1# openpyxl 使用 0-based index
col=img.anchor._from.col+1
# 检查是否在 B 列 (column 2)
ifcol==2androwincodes:
code=codes[row]
# 获取图片格式
img_format='png'# 默认格式
ifhasattr(img, 'format'):
img_format=img.format.lower()
elifhasattr(img, '_data'):
# 尝试从图片数据判断格式
data=img._data()
ifdata[:4] ==b'\x89PNG':
img_format='png'
elifdata[:2] ==b'\xff\xd8':
img_format='jpg'
elifdata[:2] ==b'BM':
img_format='bmp'
elifdata[:4] ==b'GIF8':
img_format='gif'
# 处理重复文件名
base_filename=f"{code}.{img_format}"
filename_counter[code] +=1
iffilename_counter[code] >1:
filename=f"{code}_{filename_counter[code]}.{img_format}"
else:
filename=base_filename
# 保存图片
output_path=os.path.join(output_dir, filename)
try:
# 保存图片数据
withopen(output_path, 'wb') as f:
f.write(img._data())
print(f"已保存: {filename} (行 {row}, 代码: {code})")
saved_count+=1
exceptExceptionase:
print(f"保存图片失败 {filename}: {e}")
print(f"\n完成! 共保存 {saved_count} 张图片到 {output_dir}")
wb.close()
if __name__ =="__main__":
# 设置路径
excel_file="1.xlsx"
output_directory="pic"
# 执行提取
try:
extract_images_from_excel(excel_file, output_directory)
exceptExceptionase:
print(f"错误: {e}")
importtraceback
traceback.print_exc()
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-02-04
Coding Agent 的最终形态是 TUI + GUI 吗?
2026-02-03
从 Clawdbot 看见个人 AI 助理元年的真正到来
2026-01-30
警惕!MoltBot 改名 OpenClaw:为什么你应该立即删除它?
2026-01-30
Vue 核心成员 Anthony Fu 发布了他的 Vue skills,这不就来了!
2026-01-29
飞牛OS | 相遇clawdbot,让小龙虾接管飞牛充当贾维斯
2026-01-29
不只PPT,Kimi K2.5 Agent可以帮你做Excel、Word和PDF了
2026-01-28
Clawdbot是什么?小白可以学习的技术概念指南
2026-01-28
一个Skill复用无数次:Manus如何用开放标准重新定义agent能力扩展
2026-01-24
2026-01-08
2026-01-30
2026-01-18
2025-12-10
2025-12-04
2026-01-29
2026-01-27
2026-01-21
2025-12-14
2026-02-04
2026-01-30
2026-01-21
2026-01-18
2025-12-25
2025-12-10
2025-12-09
2025-12-04