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

devtools/2024/9/23 7:00:43/

文章目录

      • 一、概述
      • 二、代码

一、概述

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

二、代码

python">"""
从 Word 文档中提取所有的 JSON 对象
"""word">from docx word">import Document
word">import jsonword">def extract_json_from_docx(doc_path):"""从 Word 文档中提取所有的 JSON 对象"""document = Document(doc_path)json_objects = []all_text = ""word">for para word">in document.paragraphs:all_text += para.text.strip()stack = []start_index = 0word">for i word">in range(len(all_text)):word">if all_text[i] == "{":stack.append("{")word">if len(stack) == 1:  # 当栈中只有一个 "{" 时,记录开始索引start_index = iword">elif all_text[i] == "}":word">if stack:  # 如果栈不为空stack.pop()word">if word">not stack:  # 如果弹出后栈为空,表示找到一个完整的 JSON 对象json_str = all_text[start_index: i+1]word">try:json_obj = json.loads(json_str)json_objects.append(json_obj)word">print(f"有效 JSON: {json_obj}")word">except json.JSONDecodeError:word">print(f"无效 JSON: {json_str}")word">return json_objects

http://www.ppmy.cn/devtools/33109.html

相关文章

脉冲激活图(PAM)

脉冲激活图(Pulse Activation Map,PAM)是一种用于解释神经网络决策过程的技术,特别是在处理时间序列数据或脉冲信号时。PAM通过可视化神经网络中特定层的激活情况,帮助理解模型是如何响应不同类型的输入信号的。以下是…

LeetCode LCR 179. 和为s的两个数字

原题链接:LCR 179. 查找总价格为目标值的两个商品 - 力扣(LeetCode) 题目的意思:通过给定的数组,找出两个值,相加并等于目标值。 第一种思路,暴力枚举,伪代码如下: for (…

【大数据】利用 Apache Ranger 管理 Amazon EMR 中的数据权限

利用 Apache Ranger 管理 Amazon EMR 中的数据权限 1.需求背景简介2.系统方案架构图3.主要服务和组件简介3.1 Amazon EMR3.2 Simple Active Directory3.3 Apache Ranger 4.部署步骤4.1 部署 Simple AD 服务4.2 部署 Apache Ranger4.3 部署 Amazon EMR4.4 在 Amazon EMR 的主节点…

STM32解决空闲中断误触发问题.

在用串口传输大量数据时,发现空闲中断误触发 我是在做用串口将大量数据传入MCU这易操作时,发现一帧数据还没发完成,就进如来空闲中断,导致数据不完整,有点数据混乱了。 参考别的博主说法,在1个或1.5个字节时…

手机恢复出厂设置ip地址会变吗

当我们对手机进行恢复出厂设置时,很多人会担心手机的IP地址是否会发生变化。IP地址对于手机的网络连接至关重要,它决定了手机在网络中的身份和位置。那么,手机恢复出厂设置后,IP地址到底会不会发生变化呢?虎观代理小二…

使用MATLAB/Simulink点亮STM32开发板LED灯

使用MATLAB/Simulink点亮STM32开发板LED灯-笔记 一、STM32CubeMX新建工程二、Simulink 新建工程三、MDK导入生成的代码 一、STM32CubeMX新建工程 1. 打开 STM32CubeMX 软件,点击“新建工程”,选择中对应的型号 2. RCC 设置,选择 HSE(外部高…

华为机考入门python3--(21)牛客21- 简单密码

分类&#xff1a;字符串 知识点&#xff1a; 字符的Unicode码 num ord(my_char) 一个整数转换为一个对应的 ASCII 字符 my_char chr(num) 题目来自【牛客】 import sysdef transform_password(password):result ""for char in password:if a < char…

Stable Diffusion AI绘画

我们今天来了解一下最近很火的SD模型 ✨在人工智能领域&#xff0c;生成模型一直是研究的热点之一。随着深度学习技术的飞速发展&#xff0c;一种名为Stable Diffusion的新型生成模型引起了广泛关注。Stable Diffusion是一种基于概率的生成模型&#xff0c;它可以学习数据的潜…