【Python】把xmind转换为指定格式txt文本

news2024/11/24 16:19:26

人工智能训练通常需要使用文本格式,xmind作为一种常规格式不好进行解析,那如何把xmind转换为txt格式呢?

软件信息

python

python -v

Python 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)] on win32
依赖库

pip install xmindparser==1.0.9

程序脚本

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import os,re
from xmindparser import xmind_to_dict,xmind_to_json
def xmindToTextFile(x_file=r'weltestDemo.xmind'):
    filename=x_file.strip('.xmind')
    dict_data = xmind_to_dict(x_file)
    resultlist = []
    def dictToTextList(input_dict, pre):
        if isinstance(input_dict, dict):
            #if (len(input_dict.keys())==1 and list(input_dict.keys())[0]=="title") or (len(input_dict.keys())==2 and list(input_dict.keys())==['title','makers']):
            if (len(input_dict.keys())==1 and list(input_dict.keys())[0]=="title") or (len(input_dict.keys())==2 and list(input_dict.keys())==['title','makers']):
                pre = pre + str(input_dict['title'])
                resultlist.append(re.sub(r'[\n\r]*','',pre)+'\n')
            else:
                for key in input_dict.keys():
                    value = input_dict.get(key)
                    if (str(key) == "title"):
                        pre = pre + str(value)+ "|#|"
                    if isinstance(value, dict):
                        dictToTextList(value, pre)
                    elif isinstance(value, list):
                        for item in value:
                            dictToTextList(item, pre)
        elif isinstance(input_dict, list):
            #print('list'+str(input_dict))
            for item in input_dict:
                dictToTextList(item, pre)
        elif isinstance(input_dict, str):
            if len(input_dict) > 0:
                pass
    dictToTextList(dict_data,"")
    if len(resultlist)>0:
        if os.path.exists(filename+'.txt'):
            os.remove(filename+'.txt')
            with open(filename+'.txt','a',encoding='UTF-8') as txtfile:
                txtfile.writelines(resultlist)
        else:
            with open(filename+'.txt','a',encoding='UTF-8') as txtfile:
                txtfile.writelines(resultlist)

xmindToTextFile(x_file=os.path.abspath('weltestDemo.xmind'))

操作演示

weltestDemo.xmind

在这里插入图片描述

执行命令

调整脚本中文件名称为“weltestDemo.xmind”,可以依据自己需要进行调整
在这里插入图片描述
如果想批量执行指定目录下的所有xmind文件可以调整为如下:

 for item in os.listdir('./xmindfile'):
     #print(f'./xmindfile/{item}')
     if item.endswith('.xmind'):
         file_name=f'./xmindfile/{item}'
         abs_name = os.path.abspath(file_name)
         print(abs_name)
         xmindToTextFile(abs_name)
最后结果
weltestDemo|#|weltest|#|静态界面|#|输入|#|长度|#|不超过四位
weltestDemo|#|weltest|#|静态界面|#|输入|#|长度|#|不超过五位
weltestDemo|#|weltest|#|静态界面|#|输入|#|长度|#|不超过6位
weltestDemo|#|weltest|#|静态界面|#|输入2|#|不超过四位
weltestDemo|#|weltest|#|静态界面|#|输入2|#|不超过五位
weltestDemo|#|weltest|#|静态界面|#|输入2|#|不超过6位
weltestDemo|#|weltest|#|功能测试|#|输入|#|长度|#|不超过四位
weltestDemo|#|weltest|#|功能测试|#|输入|#|长度|#|不超过五位
weltestDemo|#|weltest|#|功能测试|#|输入|#|长度|#|不超过6位
weltestDemo|#|weltest|#|功能测试|#|输入2|#|不超过四位
weltestDemo|#|weltest|#|功能测试|#|输入2|#|不超过五位
weltestDemo|#|weltest|#|功能测试|#|输入2|#|不超过6位

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1796086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

集成学习笔记

集成学习 简介 决策树 GBDT 拟合残差 一般 GBDT XGBOOST 弓 1 能表达样本落入的子节点,但是不能把表示结构 2 3.正则项 – 惩罚 防止过拟合,比如一个值总共有10颗树都是由同一颗树决定的,过拟合 5 找到一种方式不依赖于损失函数 …

【Modelground】个人AI产品MVP迭代平台(3)——工程化架构设计

文章目录 背景monorepo多项目调试/打包公共静态资源服务公共模型拷贝入项目的public文件夹总结 背景 Modelground中的项目,基本都依赖Mediapipe模型,因此,有很强的需要对Mediapipe进行封装,其余项目都调用这个封装库。从架构上&a…

文字生成视频!又一王炸!!!(且免费使用!)

VIVA王炸 开场 “ 生成令人惊叹的AI视频,再加上4K视频增强和初学者友好的自动提示优化,为您提供无与伦比的视频创作体验。” 直抒胸臆 自从sora的出现,开启了人工智能的有一个阶段。VIVA是现在唯数不多的与OpenAI的sora互相抗衡。也是为数…

Orange Pi AI Pro 开箱 记录

香橙派 AIpro(OrangePi AIpro)是一款面向AI开发的强大开发板,提供了高性能和多功能的开发环境。我将结合自己的开发经验,详细介绍这款开发板的性能、适用场景及使用体验。 一、产品概述 香橙派 AIpro配备了强大的硬件配置&#…

String类知识

目录 一、String存在意义 二、字符串为何不可变 三、String类常用方法 1、字符串构造 2、String对象的比较 3、字符串查找 4、转化 (1)数值和字符转化 (2)大小写转换 (3)字符串转数组 (4&…

不同类型红酒的保存期限与品质变化

云仓酒庄雷盛红酒,以其多样的品种和与众不同的风味吸引了无数葡萄酒爱好者。然而,不同类型和风格的红酒在保存过程中,其期限和品质变化也各不相同。本文将深入探讨这个问题,以帮助消费者更好地理解和欣赏云仓酒庄雷盛红酒的多样性…

智慧互联网医院系统开发指南:从源码到在线问诊APP

近期,互联网医院系统的热度非常高,很多人跟小编提问如何开发,今天小编将从零开始为大家详解互联网医院系统源码,以及在线问诊APP开发技术。 一、需求分析与系统设计 1.1 需求分析 用户管理 预约挂号 在线问诊 电子病历 药品…

0606 作业

#include <stdio.h> #include <string.h>typedef struct usr{char unm[21];char pwd[21]; }user;int main(int argc, const char *argv[]) {FILE* userfilefopen("./user_tible.txt","r");printf("输入username:");user u;scanf(&qu…

主流的单片机语言是 C 吗?是的话为啥不是 C++?

是c&#xff0c;而且可以预见在很长很长一段时间&#xff0c;没有巨大变革的情况下都会是c 商业项目开发光讨论语言特性优劣问题&#xff0c;是非常片面的&#xff0c;所以要看待为什么是c&#xff0c;最主要仍然是从收益和成本上来看。 刚好我有一些资料&#xff0c;是我根据…

【postgresql初级使用】初识触发器,在数据行发生变化时自动执行用户行为,也可以SQL级别触发,特别是视图上可以有触发器了

初识触发器 ​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目录 初识触发器概…

深入解析手机信息恢复,2个技巧,做数据安全守护者

在现代社会&#xff0c;手机就像我们的第六感一样&#xff0c;随时能够帮助我们搞定难题。但是&#xff0c;有时候手机也会闹个小脾气&#xff0c;比如误删信息、系统崩溃和硬件故障等&#xff0c;这些问题可了不得&#xff01;它们会让我们无法访问那些重要的数据&#xff0c;…

【机器学习】逻辑回归:原理、应用与实践

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 逻辑回归&#xff1a;原理、应用与实践引言1. 逻辑回归基础1.1 基本概念1.2 Sig…

Mysql8安装教程与配置(超详细图文)

MySQL 8.0 是 MySQL 数据库的一个重大更新版本&#xff0c;它引入了许多新特性和改进&#xff0c;旨在提高性能、安全性和易用性。 1.下载MySQL 安装包 注&#xff1a;本文使用的是压缩版进行安装。 &#xff08;1&#xff09;从网盘下载安装文件 点击此处直接下载 &#…

网络层-IP协议 二

一、网段划分 为了进行组网,把一个IP地址,分成了两个部分: 网络号 主机号 例如:192.168.2.100 这个IP地址中,前面一部分 : 192.168.2就是我们的网络号 后面一部分 100就是我们的主机号. 家用宽带来说,一般默认就是前面三个字节是网络号,主机号的范围就表示局域网中可以有…

开机弹窗找不到opencl.dll怎么办,教你几种有效的修复方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“找不到opencl.dll文件”。这个问题可能会影响到我们的正常使用&#xff0c;因此了解其原因和解决方法是非常必要的。本文将从多个方面对“找不到opencl.dll文件”这一问题进行详细分析和解…

某h5st逆向分析

具体网址经过了base64处理 aHR0cHM6Ly9zby5tLmpkLmNvbS93YXJlL3NlYXJjaC5hY3Rpb24/a2V5d29yZD0lRTklOTklQTQlRTYlQjklQkYlRTYlOUMlQkEmc2VhcmNoRnJvbT1ob21lJnNmPTE1JmFzPTA 要做的是一个搜索的功能具体如图所示。 这里发现携带的参数中存在一个token还有一个加密参数&#x…

【网络安全的神秘世界】Kali火狐浏览器汉化教程

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 打开火狐浏览器 进入设置后&#xff0c;搜索language 打开之后选择添加其他语言&#xff0c;简体中文在最后一个 Add后点击ok即可

代码签名证书:软件安全的守护神

在数字化日益普及的今天&#xff0c;软件安全问题愈发受到人们的关注。而在这其中&#xff0c;一个常被提及但可能不为大众所熟知的名词——“代码签名证书”&#xff0c;实际上在软件安全领域扮演着举足轻重的角色。今天&#xff0c;我们就来聊聊代码签名证书对软件安全到底有…

SVM模型实现城镇居民月平均消费数据分类

SVM模型实现城镇居民月平均消费数据分类 一、SVM支持向量机简介二、数据集介绍三、SVM建模流程及分析一、SVM支持向量机简介 支持向量机是由感知机发展而来的机器学习算法,属于监督学习算法。支持向量机具有完备的理论基础,算法通过对样本进行求解,得到最大边距的超平面,并…

485数据采集模块

在工业自动化与智能化的浪潮中&#xff0c;数据采集作为整个系统的基础和核心&#xff0c;其准确性和实时性直接关系到生产效率和产品质量。而485数据采集模块&#xff0c;作为连接现场设备与上位机的重要桥梁&#xff0c;其性能与稳定性对于整个系统的运行至关重要。HiWoo Box…