从 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
相关推荐
站大爷IP1 天前
Python条件控制:让程序学会"思考"的魔法
python
站大爷IP1 天前
5分钟学会用Python爬取知乎热榜:从零开始的实战指南
python
zhurui_xiaozhuzaizai1 天前
大模型里使用的pytorch dataset 和dataloader详细解析和介绍
人工智能·pytorch·python
databook1 天前
Manim实现气泡特效
后端·python·动效
计算机毕设残哥1 天前
【Spark+Hive+hadoop】人类健康生活方式数据分析
大数据·hive·hadoop·python·数据分析·spark·dash
鲸鱼24011 天前
Pytorch工具箱2
人工智能·pytorch·python
西猫雷婶1 天前
python学智能算法(三十九)|使用PyTorch模块的normal()函数绘制正态分布函数图
开发语言·人工智能·pytorch·python·深度学习·神经网络·学习
MoRanzhi12031 天前
9. NumPy 线性代数:矩阵运算与科学计算基础
人工智能·python·线性代数·算法·机器学习·矩阵·numpy
新子y1 天前
《代码的“言外之意”:从词源学透彻理解编程》字符的“双重生活”:从Escape到Raw
笔记·python
TH88861 天前
大田作物四情监测系统:集物联网、大数据、人工智能等技术于一体的智慧农业管理系统
python