当前位置: 首页> 财经> 产业 > 马云谈2025的房价_广告设计与制作好找工作吗_搜索引擎入口网址_百度关键词权重查询

马云谈2025的房价_广告设计与制作好找工作吗_搜索引擎入口网址_百度关键词权重查询

时间:2025/7/10 12:39:09来源:https://blog.csdn.net/weixin_44872675/article/details/146028278 浏览次数:0次
马云谈2025的房价_广告设计与制作好找工作吗_搜索引擎入口网址_百度关键词权重查询

在实际使用场景中,可能只需要获取需求文档中的部分内容,例如特定标题的正文部分、特定段落的表格内容,或者指定图片中的内容。为了满足这一需求,可以对文档清理工具进行优化,支持按标题提取内容按章节提取表格和图片,并结合阿里云百炼 DeepSeek-R1 的流式 API 进行对话生成测试用例等功能。而且上个版本的小工具貌似并没有很好的将目录清洗掉,这次也一并优化。

去除目录

此次更新从Word 文档(.docx 文件)中智能化地去除目录,可以使用 Python 的 python-docx 库。以下是一种方法,可以遍历文档中的所有段落,识别并删除目录。

代码示例

from docx import Documentdef remove_toc(self, docx_path):"""去除 Word 文档中的目录:param docx_path: docx 文件路径"""doc = Document(docx_path)paragraphs_to_remove = []# 遍历段落,识别目录for paragraph in doc.paragraphs:if "TOC" in paragraph.style.name:  # 检查样式名称paragraphs_to_remove.append(paragraph)elif paragraph.text.strip() and (paragraph.text[0].isdigit() or paragraph.text.startswith("1.")):# 检查是否为目录条目paragraphs_to_remove.append(paragraph)# 删除标记的段落for paragraph in paragraphs_to_remove:p = paragraph._elementp.getparent().remove(p)# 保存修改后的文档file_name = 'modified_' + docx_path.split('\\')[-1]new_path = docx_path.split('\\')[0] + os.sep + file_namedoc.save(new_path)return new_path

说明

  1. 识别目录

    • 通过检查段落的样式名称来识别目录。通常,目录的样式名称以 “TOC” 开头(如 “TOC 1”, “TOC 2” 等),可以根据具体文档样式进行调整。
  2. 删除段落

    • 使用 p.getparent().remove(p) 方法来从文档中删除标记的段落。
  3. 保存文档

    • 将修改后的文档保存为新的文件,避免覆盖原始文档。

    在这里插入图片描述

注意事项

  • 确保安装了 python-docx 库,如果没有,可以使用以下命令安装:
    pip install python-docx
    
  • 根据具体文档的样式调整目录识别的逻辑。如果目录使用了不同的样式,可以修改条件以适应实际情况。

提取指定标题下的正文内容

下面给出实现按标题提取正文内容,并说明如何实现和微调以下功能:

  1. 按标题提取正文内容:用户可以通过输入标题关键字(如“4.1 功能描述”),提取指定范围的正文。
  2. 按标题提取图片与表格:支持提取特定章节的图片和表格,并单独存储图片,用于后续处理。
  3. 图片内容识别:利用 OCR 技术识别图片中的文字,并结合阿里云百炼 DeepSeek-R1 的流式 API 进行对话生成测试用例。
  4. 灵活微调:通过修改正则表达式、章节匹配规则和 API 参数,满足用户的个性化需求。
    在这里插入图片描述

功能实现方案

以下是针对需求文档部分内容提取的解决方案以及实现代码。


1. 提取指定标题的正文内容

功能描述

通过用户输入的标题关键字(如“4.1 功能描述”),提取从该标题开始到下一个同级标题之间的正文。

在这里插入图片描述
注:如果不指定,则还是按原逻辑进行清洗展示。
在这里插入图片描述

实现代码
def extract_text_by_title(docx_path, title_keyword):"""根据标题关键字提取正文内容:param docx_path: docx 文件路径:param title_keyword: 标题关键字(如 "4.1 功能描述"):return: 提取的正文内容"""doc = Document(docx_path)content = []capture = False  # 标记是否开始捕获正文for paragraph in doc.paragraphs:text = paragraph.text.strip()# print(f"当前段落文本: {text}")# 匹配标题,判断是否开始捕获if title_keyword in text and 'toc' not in paragraph.style.name:capture = Trueprint("开始捕获正文内容")# print(paragraph.style.name)continue# 如果捕获正文,遇到下一个标题则停止if capture:# print(paragraph.style.name)if re.match(r"^\d+(\.\d+)*\s+.+", text):  # 匹配新的标题print("遇到新的标题,停止捕获")breakelif "标题" in paragraph.style.name:  # 遇到下一个标题则停止获取print("遇到新的标题,停止捕获")breakif text:  # 只在文本非空时添加content.append(text)return "\n".join(content)

2. 提取指定标题的图片和表格(待实现)

功能描述

用户可以指定标题关键字(如“4.4.1.1 界面UI图”),提取从该标题开始的图片和表格,并分别存储到文件夹中。


3. 图片内容识别与智能对话生成测试用例(待实现)

功能描述

提取图片后,利用 OCR 技术识别图片中的文字并结合阿里云百炼 DeepSeek-R1 的流式 API 进行对话生成测试用例。


微调手法

1. 按标题提取正文内容

  • 修改标题匹配规则:通过优化正则表达式,兼容不同的标题格式。例如:

    # 支持 "4.1 功能描述" 和 "4.1 - 功能描述"
    re.match(rf"^{re.escape(title_keyword)}(\s+|[-])", text)
    
  • 限制正文范围:如果需要提取多级标题之间的内容,可以调整捕获规则。例如:

    # 仅捕获 4.1 开头的内容
    re.match(r"^4\.1(\.\d+)*\s+.+", text)
    

2. 提取表格和图片

  • 图片格式兼容:支持提取 PNG、JPEG 等不同格式的图片,并统一保存为指定格式。
  • 表格格式优化:将表格内容存储为二维数组(列表嵌套列表),并支持导出为 Excel 文件。

3. 图片内容识别与测试用例生成

  • OCR 语言支持:通过 pytesseract 添加多语言支持。例如:

    pytesseract.image_to_string(image, lang="chi_sim")  # 简体中文
    
  • 增强对话生成逻辑:为流式 API 添加更多上下文信息,提升生成测试用例的准确性。例如:

    payload = {"prompt": f"{prompt}\n上下文:{context}", "content": content}
    

总结

通过本文的优化,实现了针对需求文档的部分内容提取功能:

  1. 按标题提取正文:支持提取特定章节的正文内容。
  2. 按标题提取图片与表格:支持提取特定章节的图片和表格,并分别存储。
  3. 图片内容识别与测试用例生成:结合 OCR 和阿里云百炼 API,实现从图片到测试用例的智能生成。

这些功能可根据实际需求进行微调,满足不同场景下的需求文档清理和测试用例生成。源码已上传云盘,冰冻三尺非一日之寒,每日新增一点点!~欢迎反馈意见

关键字:马云谈2025的房价_广告设计与制作好找工作吗_搜索引擎入口网址_百度关键词权重查询

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: