【Excel批处理】一键批量AI提取身份证信息到excel表格,数据安全,支持断网使用

功能演示

一键批量AI提取身份证信息到excel表格

前言

大家好,我是老罗软件,最近公司有一个变态的需求,有一堆身份证图片,然后将每个身份证信息放到excel表格里面。单个文本是很容易操作的,但多个文件就相当耗费人力,今天老罗就是帮大家来解决这个问题的。

功能使用的是本地千问大模型,支持断网使用。

需求描述

抽查一个身份证图片,打开内容如下:

需要将信息放到excel表格里面 , 结果如下图:

如果只有一个图片,我想人工操作还是很简单的,但是我有一批图片都需要录入。

如果你想早点下班,抛开这些重复的繁琐步骤,节省更多时间充实自己,就请往下看。

解决方案

关注公众号:"老罗软件" , 可以获取到解决方案软件下载。

关注公众号:"老罗软件" , 可以获取到解决方案软件下载。

这是一个专业解决excel多文件处理的方案, 找到 Excel批处理, 然后在弹出的框里点击 "AI文件提取"。

软件打开后, 我们设置好界面的参数:

下面我来详细介绍下参数意思。

文件目录: 要处理的身份证图片文件

模型设置: 可以设置本地模型(数据安全,支持断网,速度慢),也可以设置deepseek,通义千问(需联网,速度快,准确度高)等,自己选择适合的就可以了。

模板设置: 选择身份证模板就可以了,因为我们提取的身份证。

设置好之后,点击开始处理, 程序会一条一条处理, 执行完,打开结果文件,结果就如下图:

如果您有疑问可以一起来探讨,功能就介绍到 这里 ,希望能帮助大家,感谢!!!

技术实现

非技术人员不需要观看!! 这里设计到的技术复杂, 我也就就简单讲解实现原理。

软件是基于Python开发的现代化办公自动化软件,主要使用了如下技术架构:

  1. PySide6 (Qt6) - 现代化GUI界面框架:

  2. springboot: excel的数据脱敏是通过后端java实现的。

  3. 文件处理:os.walk() - 递归遍历目录结构。

  4. http请求: requests框架。

部分代码解析

项目的 开始 按钮,会开启一个QThread线程去处理,首先是获取excel目录, 然后通过os.walk遍历目录获取到所有文件,然后一个一个进行处理,处理的业务代码如下:

复制代码
import logging
import os
import openpyxl
from openpyxl.utils import get_column_letter, column_index_from_string

from api.news.excel_api_new import ExcelAPINews
from utils import FileUtils
from utils.ai_ask_installer import AiAskInstaller
from utils.ai_configure import AiConfigure
from utils.paddle_installer import PaddleInstaller


class AIExtractFilesService:
    """Excel AI分析提取服务"""

    def __init__(self):
        self.api = ExcelAPINews()

    def delete_temp_file(self, files):
        if files:
            for file in files:
                FileUtils.remove_file(file)

    def ocr_to_temp_file(self, input_file, out_dir, pdfContinesOCR):
        ## 临时文件
        out_put = os.path.join(out_dir, FileUtils.get_filename_without_extension(input_file) + ".txt")

        self.api.fileTextOCR(input_file, out_put, {
            "cmd": PaddleInstaller.GS_CMD,
            "inputRange": "empty",
            "pdfContinesOCR": pdfContinesOCR
        })
        return out_put

    def merge_files(self , files , output):
        self.api.mergeExcelsToOneSheet(output, output, {
            "excels": files
        })

    def process_excel_file(self, input_file, output_file, model_name, output_config, prompt,
                           scence, sk, ocr_file, max_tokens=200):
        """
        处理Excel文件
        :param input_file: 输入文件路径
        :param output_file: 输出文件路径
        :param input_range: 输入范围(如 A1:C10)
        :param output_column: 输出列(如 A)
        :param model_name: 模型名称
        :param output_config: 输出配置列表 [{"title": "姓名", "format": "TEXT"}, ...]
        """
        print(f"Input file: {input_file}")
        print(f"Output file: {output_file}")

        ##  [{'title': '姓名', 'format': 'TEXT'}, {'title': '身份证号', 'format': 'TEXT'}, {'title': '出生日期', 'format': 'DATE_SHORT'}]
        print(f"Output config: {output_config}")

        print(f"Prompt: {prompt}")
        print(f"Scence: {scence}")

        if '本地' in model_name:
            model_name_str = 'local'
        else:
            model_name_str = model_name

        # 构建输出配置参数
        output_columns = []
        if output_config and len(output_config) > 0:
            for item in output_config:
                output_columns.append({
                    "titleName": item.get('title', ''),
                    "formatEnum": item.get('format', 'TEXT')
                })

        params = {
            "inputRange": "empty",
            "outputColumn": "empty",
            "ask": {
                "model": model_name_str,
                "scene": scence,
                "cmd": AiAskInstaller.GS_CMD,
                "custom_prompt": prompt,
                "sk": sk,
                "maxTokens": AiConfigure.get_max_tokens()
            },
            "titleCellInfos": output_columns,
            "ocrFile": ocr_file
        }
        self.api.aiAskFile(input_file, output_file, params)

**代码没有开源噢。**如果您有技术合作意向,还请联系本人。今天就介绍到 这里 ,希望能帮助大家,感谢!!!

结尾语

单个图片直接用肉眼看然后用wps这些有名的工具就可以了, 但是针对多文件批量一键处理还可以尝试我文章中的介绍方法,可以为你提高很大的工作效率,让你有时间充实自己,而不是像机器人一样做重复的工作,没有任何新的收获。 就说到这里了, 如帮助到你了,还请点个赞,感谢!!

相关推荐
怎么全是重名10 分钟前
VerdictAD
人工智能·异常检测·few-shot·zsas·异常分割
Bode_200214 分钟前
具身智能机构设计的质量控制
人工智能
阿里云大数据AI技术18 分钟前
EMR Serverless StarRocks × Lance:多模态分析与检索的云上实践
人工智能
SelectDB1 小时前
数据不能出境的数仓选型与迁移落地:四问框架、可复算成本与迁移三段式
人工智能
李青菜1 小时前
一个人 + AI,用 Tauri 2 和 Rust 写了个开源的 Windows 效率工具:提醒 + 笔记 + 启动器
人工智能
泯泷1 小时前
做 AI 产品,路线图该数“实验”,而不是数“功能”
人工智能·llm·产品
百度Geek说1 小时前
AI 内容核查怎么做:智能内容 AI 核查系统实践
人工智能
武子康2 小时前
Qwen-Drive 到底是什么:4B 级 VLM 如何成为驾驶策略底座
人工智能·算法·机器学习
落798.2 小时前
《启元 PrimeSim 如何用生成视频评估机器人策略》
人工智能·机器人·启元·具身应用
老纪的技术唠嗑局2 小时前
token 暴降75%!减少长程 Agent 任务中的重复开销,PowerContext v1.5.0 发布
人工智能