# Data-auditor **Repository Path**: wzdlvpl/data-auditor ## Basic Information - **Project Name**: Data-auditor - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-28 - **Last Updated**: 2025-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据审核器 数据审核器是一个基于 **PyQt5** 的桌面应用程序,用于对 JSON 数据文件中的数据进行逐条审核。该工具提供了直观的图形用户界面,方便用户浏览、标记和提取所需的数据。 ## 功能特性 - **数据加载**:支持从指定的 JSON 文件中加载数据,自动生成临时文件保存审核进度。 - **图片展示**:以滚动区域的方式显示数据项中的一张或多张图片。 - **文本显示**:展示数据项中的文本内容,用户可以对内容进行编辑。 - **标记功能**:用户可以对每条数据进行“保留”或“丢弃”标记。 - **导航操作:** - 上一条、下一条数据浏览。 - 跳转到指定编号的数据项。 - 自动跳转到未标记的数据项。 - **进度显示**:实时显示当前审核进度。 - **数据提取**:将标记为“保留”的数据项提取并保存到新的 JSON 文件中。 - **快捷键支持:** - `A`:上一条 - `D`:下一条 - `J`:保留当前数据项 - `L`:丢弃当前数据项 ![image-20241028132959140](./image-20241028132959140.png) ## 安装与运行 ### 环境要求 - Python 3.x - PyQt5 库 ### 安装步骤 1. **克隆或下载本项目代码**: ```bash git clone https://gitee.com/wzdlvpl/data-auditor.git ``` 2. **安装依赖库**: ```bash pip install PyQt5 ``` 3. **运行应用程序**: ```bash python main.py ``` ## 使用说明 1. **启动程序后,选择数据文件**: - 程序会提示选择一个 JSON 数据文件(请勿选择以 `_temp.json` 结尾的临时文件或`new_.json` 开头的生成文件)。 - 选定文件后,程序会自动生成一个对应的临时文件以保存审核进度。 2. **界面介绍**: - **左侧**:图片展示区域,支持显示多张图片。 - **右侧**:文本内容显示区域,显示数据项中的文本信息。 - **指示灯:**位于图片左上角,指示当前数据项的标记状态: - 白色:未标记 - 绿色:保留 - 红色:丢弃 3. **导航与标记**: - **导航按钮:** - **上一条 (A)**:查看上一条数据。 - **下一条 (D)**:查看下一条数据。 - **标记按钮:** - **保留 (J)**:将当前数据项标记为保留。 - **丢弃 (L)**:将当前数据项标记为丢弃。 - **跳转功能:** - 在输入框中输入要跳转的编号,按下回车或点击“跳转”按钮。 4. **提取数据**: - 点击“提取数据”按钮,程序会将所有标记为“保留”的数据项提取到一个新的 JSON 文件中,文件名为 `new_原文件名.json`。 5. **重新导入数据**: - 点击“重新导入数据”按钮,可以重新选择数据文件,开始新的审核流程(此操作会覆盖之前的审核进度)。 ## JSON 数据格式要求 为了确保程序正常加载和显示数据,您的 JSON 数据文件应满足以下格式要求: 1. **数据结构**: - JSON 文件应包含一个列表,列表中的每个元素代表一条数据项。 ```json [ { "image": "path/to/image1.jpg", "conversations": [...], }, { "images": ["path/to/image2.jpg", "path/to/image3.jpg"], "messages": [...] }, ... ] ``` 2. **字段说明**: - **image**(可选): - 类型:字符串 - 描述:单张图片的相对路径,基于数据文件所在目录。 - **images**(可选): - 类型:字符串列表 - 描述:多张图片的相对路径列表。 - **conversations**(可选): - 类型:对象列表 - 描述:对话内容列表,程序将显示其中最后一条的 `value` 字段。 - 结构: ```json "conversations": [ { "from": "user", "value": "用户输入的文本" }, { "from": "assistant", "value": "助手回复的文本" } ] ``` - **messages**(可选): - 类型:对象列表 - 描述:消息内容列表,程序将显示其中最后一条的 `content` 字段。 - 结构: ```json "messages": [ { "role": "user", "content": "用户输入的文本" }, { "role": "assistant", "content": "助手回复的文本" } ] ``` - **choose**(程序自动添加): - 类型:字符串或布尔值 - 描述:标记数据项的审核状态,初始值为空字符串 `""`,标记为保留时为 `true`,丢弃时为 `false`。 3. **注意事项**: - **字段存在性**:`image` 和 `images` 字段是可选的,但至少应存在其中一个用于显示图片。如果都不存在,程序将在图片区域显示“无图片”。 - **文本内容**:`conversations` 和 `messages` 字段是可选的,但至少应存在其中一个用于显示文本内容。如果都不存在,程序将在文本区域显示“无可用内容”。 - **路径有效性**:请确保图片路径相对于数据文件所在目录,并且路径对应的图片文件存在。 - **编码格式**:JSON 文件应使用 UTF-8 编码。 ## 注意事项 - **审核进度**: - 程序会在数据文件所在目录下生成一个以 `_temp.json` 结尾的临时文件,保存当前的审核进度。 - 请勿手动修改或删除此临时文件,避免审核进度丢失。 - **数据备份**: - 建议在开始审核前备份原始数据文件,以防止意外的数据损坏。 - **程序退出**: - 在关闭程序前,请确保已完成当前数据项的标记,以防审核进度未正确保存。 ## 常见问题 - **Q**:程序无法启动,提示缺少模块。 - **A**:请确保已正确安装 PyQt5 库,使用命令 `pip install PyQt5` 进行安装。 - **Q**:审核进度丢失或无法保存。 - **A**:请检查程序是否有权限在当前目录下创建和修改临时文件。 - **Q**:提取的数据文件内容为空。 - **A**:请确保在提取数据前,已对需要的数据项进行了“保留”标记。 - **Q**:图片无法加载或显示“图片未找到”。 - **A**:请确保图片路径正确,并且图片文件存在于指定的位置。 - **Q**:文本区域显示“无可用内容”。 - **A**:请检查数据项的 `conversations` 或 `messages` 字段是否存在并符合格式要求。 ## 贡献指南 欢迎对本项目提出建议、报告问题或提交代码改进。您可以通过提交 Issue 或 Pull Request 的方式参与贡献。 ## 许可证 MIT © [Your Name](https://github.com/yourusername)