从 Word 文档中提取所有的有效 JSON 对象(包含跨段落)

文章目录

一、概述

从 word 中提取所有有效 json (包含跨段落的 json)。

二、代码

python 复制代码
"""
从 Word 文档中提取所有的 JSON 对象
"""

from docx import Document
import json

def extract_json_from_docx(doc_path):
    """从 Word 文档中提取所有的 JSON 对象"""
    document = Document(doc_path)
    json_objects = []

    all_text = ""
    for para in document.paragraphs:
        all_text += para.text.strip()

    stack = []
    start_index = 0
    for i in range(len(all_text)):
        if all_text[i] == "{":
            stack.append("{")
            if len(stack) == 1:  # 当栈中只有一个 "{" 时,记录开始索引
                start_index = i
        elif all_text[i] == "}":
            if stack:  # 如果栈不为空
                stack.pop()
                if not stack:  # 如果弹出后栈为空,表示找到一个完整的 JSON 对象
                    json_str = all_text[start_index: i+1]
                    try:
                        json_obj = json.loads(json_str)
                        json_objects.append(json_obj)
                        print(f"有效 JSON: {json_obj}")
                    except json.JSONDecodeError:
                        print(f"无效 JSON: {json_str}")

    return json_objects
相关推荐
xsc69967538 分钟前
从零搭建大模型与智能体平台 - 完整技术详解
python
无风听海2 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
CTA终结者2 小时前
期货量化主力换月程序怎么移仓:天勤 underlying_symbol 与任务切换
python·区块链
马士兵教育2 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
KaMeidebaby3 小时前
卡梅德生物技术快报|纯化重组蛋白实操详解
人工智能·python·tcp/ip·算法·机器学习
Cloud_Shy6183 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 30 - 32)
开发语言·人工智能·笔记·python·学习方法
天佑木枫3 小时前
15天Python入门系列 · 序
开发语言·python
happylifetree3 小时前
Python017-第二章15.数据容器-dict常用操作
python
装不满的克莱因瓶4 小时前
了解 LangChain 中的 LLM 与 ChatModel 的差异
人工智能·python·ai·langchain·llm·agent·chatmodel
IT知识分享4 小时前
从零开发在线简繁转换工具:OpenCC 实战、避坑经验与方案选型
javascript·python