当前位置: 首页 > news >正文

羲和数据集收集器0.9

为了进一步完善代码,增强其文字抓取能力和文件读取能力,我们做以下改进:

增强 DOCX 文档的文本提取:不仅提取段落和文本框内容,还提取表格中的文本。
增强 PDF 文档的文本提取:不仅提取页面文本和注释,还提取表格中的文本。
优化文本清理:确保文本清理更加彻底,避免不必要的空白和标点符号。
增加日志记录:记录更多的处理细节,便于调试和问题排查。
以下是改进后的代码:

python

import os
import json
import fitz  # PyMuPDF
import docx
import re
import tkinter as tk
from tkinter import filedialog, messagebox, simpledialog
import logging# 设置日志记录
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')def clean_text(text):""" 清理文本,去除多余的空白字符和标点符号 """text = re.sub(r'\s+', ' ', text)  # 合并多个空白字符text = re.sub(r'[^\w\s]', '', text)  # 去除标点符号return text.strip()def extract_qa_pairs_from_txt(file_path):with open(file_path, 'r', encoding='utf-8') as f:content = f.read()content = clean_text(content)qa_pairs = extract_qa_pairs_from_content(content)return qa_pairsdef extract_qa_pairs_from_docx(file_path):doc = docx.Document(file_path)content = []for para in doc.paragraphs:content.append(para.text)for table in doc.tables:for row in table.rows:for cell in row.cells:content.append(cell.text)for rel in doc.part.rels.values():if "textBox" in rel.target_ref:text_box = rel.target_partfor element in text_box.element.body:if element.tag.endswith('p')

http://www.mrgr.cn/news/69201.html

相关文章:

  • 多轮对话中让AI保持长期记忆的8种优化方式篇
  • 51单片机应用开发(进阶)---定时器应用(电子时钟)
  • 【JAVA】Java基础—面向对象编程:继承—重写父类方法
  • 用Python语言,将一个整数进行因式分解,打印出所有的因数。比如90=2*3*3*5, 90, 1, 2, 45,
  • sql中对象名称要加_的作用
  • IDC 报告:百度智能云 VectorDB 优势数量 TOP 1
  • 探索App Intents:让你的应用与Siri无缝互动的新方式
  • 【linux系统】Linux系统调优的方法与技巧
  • 派对鹦鹉—Party Parrot
  • 【Windows】CMD命令学习——快捷键
  • 鸿蒙next版开发:ArkTS组件鼠标事件详解
  • 书生实战营第四期-基础岛第四关-InternLM + LlamaIndex RAG 实践
  • 【单片机程序】详解IO输入输出方向设置寄存器写法程序来自定义更换引脚与迁移参考程序到工程的流程
  • Google SERP API 对接说明
  • 2.索引:SQL 性能分析详解
  • 公司文件防止泄密的方式(如何防止技术泄密)?5个防泄密措施,请谨记!
  • 操作系统(11) (POSIX--Linux线程编程---Mutex互斥锁语法应用)
  • 临床检验方法与仪器 第一部分作业:光谱分析仪器与技术的总结与归纳+新型光谱仪的调研
  • Python学习从0到1 day26 第三阶段 Spark ① 数据输入
  • 在Rocky Linux 9上快速安装Nginx
  • Docker基础(一)
  • 深度学习基础—了解词嵌入
  • 基于Video-ReTalking的AI数字人模型部署
  • CSS-盒模型
  • Linux——入门
  • 拓扑排序(C++类封装+数组模拟队列和邻接表)