杰理之fm_api.c【篇】
2026/7/14 9:59:36
还在手动敲表格?还在为截图里的数据抓狂?
今天给大家分享一个我刚刚撸出来的 Python 神器——智能 OCR 表格提取助手。它不仅能一键把图片变 Excel,更厉害的是,它接入了DeepSeek V3,能自动帮你补全数据!
作为一名经常和数据打交道的打工人,我最烦的就是:
截图转表格:对方发来一张截图,让我做成 Excel,几百行数据敲到手断。
表头乱飞:普通 OCR 识别出来全是散的,表头和数据混在一起,排序一按全乱了。
数据缺失:表格里只有“某某基金”,领导非要我填上“基金代码”,我又得一个个去百度。
于是,这个工具诞生了!
依托RapidOCR引擎,识别速度飞快。识别后的文字直接变成一个类似 Excel 的界面,双击就能改,右键就能删。
这是市面上很多免费 OCR 工具都没有的细节!
这是最硬核的地方!如果你的表格里有“基金名称”或者“公司名”,但缺少代码:
所见即所得,你调整好的表格,直接导出为 Excel,连标题和列宽都给你安排得明明白白。
不仅要好用,还要硬核。看看这几行代码,你就知道它为什么这么强。
我们利用QThread实现了异步 AI 调用,界面不卡顿,体验丝般顺滑。
classDeepSeekWorker(QThread):finished=pyqtSignal(dict)defrun(self):# 直接调用 DeepSeek 官方 APIclient=OpenAI(api_key=self.api_key,base_url="https://api.deepseek.com")# 精心设计的 Prompt,强制输出 JSON 格式,方便程序解析prompt=f""" 你是一个专业的金融数据助手。请根据以下基金名称列表,查找并返回对应的中国基金代码。 要求:返回结果必须是严格的 JSON 格式 (Key: 名称, Value: 代码)。 列表:{json.dumps(self.fund_names,ensure_ascii=False)}"""response=client.chat.completions.create(model="deepseek-chat",messages=[{"role":"user","content":prompt}],stream=False)# 解析结果并回传给主界面self.finished.emit(json.loads(response.choices[0].message.content))普通的 OCR 只会给你一堆坐标,我们写了个算法,把它们“拼”回表格。
defsmart_merge_lines(self,result):# 先按 Y 轴聚类,判断是否在同一行# 再按 X 轴排序,还原列顺序boxes.sort(key=lambdab:b["cy"])# ... (省略中间复杂的几何计算) ...ifabs(box["cy"]-last_box["cy"])<avg_h*0.6:current_row.append(box)# 归为同一行# ...returnfinal_rows💡 总结:这不仅仅是一个 OCR 工具,它是你数据处理流程中的AI 增效器。
增强 DeepSeek 的提示词策略,增加了 强力模糊匹配 :
👉 想要源码?
(关注公众号“向左向右立正”)