从 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
相关推荐
问窗14 分钟前
计算机视觉入门案例 高速公路车辆计数系统技术解析
python·opencv·计算机视觉
Fleshy数模23 分钟前
基于机器视觉的工业产品型号识别与报警系统实现
python·ocr·pyqt
gf132111124 分钟前
python_更新飞书多维表格的单项关联字段
数据库·python·飞书
2601_9536603726 分钟前
File类
linux·开发语言·python
GIOTTO情27 分钟前
Infoseek 媒介投放 API 实战:基于 Python 的全流程自动化方案摘要
开发语言·python·自动化
广州灵眸科技有限公司29 分钟前
瑞芯微(EASY EAI)RV1126B 千兆以太网电路
服务器·前端·人工智能·python·深度学习
speop31 分钟前
【thorough-pytorch】评价指标
人工智能·pytorch·python
YUDAMENGNIUBI39 分钟前
day26_人工神经网络_多分类任务案例
python·神经网络
TechWayfarer40 分钟前
街道级IP定位的技术边界:IP精准定位服务在本地生活场景的落地实践
大数据·网络·python·tcp/ip·生活
码界筑梦坊43 分钟前
129-基于Python的城市尾气排放数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计