python代码实现xmind思维导图转换为excel功能

目录

转换前xmind示例

运行代码转换后excel示例

python代码


转换前xmind示例

运行代码转换后excel示例

如果想要合并单元格内容,在后面一列参考输入

=B2&C2&D2&E2

python代码

from xmindparser import xmind_to_dict
import pandas as pd
from openpyxl.workbook import Workbook# 可以设想为一个树结构,利用递归函数,获取由根至各叶子节点的路径。
def xm_parse(dic, pre_data=[]):"""输入一个由xmindparser,转换而来的字典形式的数据,将之转换成列表"""title_list = []topic_list = []try:topics = dic.get("topics")title = dic.get("title")# 将前缀追加title_list.append(title)title_list = pre_data + title_list# 如果到达末尾,就返回if topics is None and title:yield title, title_list
#             print(title,title_list)return# 如果是列表,就暂存起来(若每个对象为标准的列表,即 topics= topic_list,则可以跳过该步骤)elif isinstance(topics, list) and title:for topic in topics:topic_list.append(topic)except AttributeError as e:print("异常结束")returnif topic_list:for topic in topic_list:yield from xm_parse(topic,title_list)def main():x_flie=r"转换excel前.xmind"out_file=r"xmind转换后3.xlsx"temp=[]max_cols=0json_data= xmind_to_dict(x_flie)#提取数据,并找出最大深度(列数)for i,j in xm_parse(json_data[0]['topic']):temp.append(j)max_cols= max_cols if max_cols > len(j) else len(j)#对缺失数据采用补全for i in range(len(temp)):temp[i] = temp[i] + (max_cols - len(temp[i])) * [None]result=pd.DataFrame.from_records(temp,columns=["标题-{}".format(i+1) for i in range(max_cols)])# result.to_excel(out_file,index=False,encoding='utf-8-sig')result.to_excel(out_file,index=False)if __name__ == '__main__':main()

参考文章如何利用python将xmind转为Excel?_python xmind转excel-CSDN博客

因为在执行原代码时候遇到了报错,排查问题后,我修改了1处代码。如下

新导入openpyxl包

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux——综合实验

要求 按照上面的架构部署一个简单的web节点所有的服务器使用DNS服务器作为自己的DNS服务器 就是/etc/reslov.conf 中nameserver的值必须是途中dns服务器的地址所有的数据库都是用mysql应用 nfs共享导出在客户端(web服务器上)使用autofs在自动挂载,或者写入/etc/fsta…

QT+网络调试助手+TCP服务器

一、UI界面设计 二、单线程 代码设计 1、 查找合法的本地地址&#xff0c;用于当作服务器的IP地址 #include <QThread> #include <QTcpSocket> #include <QNetworkInterface> #include <QMessageBox>QList<QHostAddress> ipAddressesList QNe…

车规级低功耗汽车用晶振SG-9101CGA

车规级晶振SG-9101CGA属于爱普生9101系列&#xff0c;是一款可编程晶振。SG-9101CGA车规级晶振采用2.5x2.0mm封装&#xff0c;利用PLL技术生产&#xff0c;此款振荡器的频率范围从0.67M~170MHZ任一频点可选&#xff0c;步进1ppm&#xff0c;采用标准CMOS输出&#xff0c;最大输…

决策树的学习(Decision Tree)

1.对于决策树的概念&#xff1a; **本质上&#xff1a;**决策树就是模拟树的结构基于 if-else的多层判断 2.目的&#xff1a; 对实例进行分类的树形结构&#xff0c;通过多层判断&#xff0c;将所提供的数据归纳为一种分类规则。 3.优点&#xff1a; 1.计算量小&#xff0c;…

【高阶数据结构】LRU Cache -- 详解

一、什么是 LRU Cache LRU&#xff08;Least Recently Used&#xff09;&#xff0c;意思是最近最少使用&#xff0c;它是一种 Cache 替换算法。 什么是 Cache&#xff1f; 狭义的 Cache 指的是位于 CPU 和主存间的快速 RAM&#xff0c;通常它不像系统主存那样使用 DRAM 技术&…

大模型微调之 在亚马逊AWS上实战LlaMA案例(八)

大模型微调之 在亚马逊AWS上实战LlaMA案例&#xff08;八&#xff09; 微调技术 Llama 等语言模型的大小超过 10 GB 甚至 100 GB。微调如此大的模型需要具有非常高的 CUDA 内存的实例。此外&#xff0c;由于模型的大小&#xff0c;训练这些模型可能会非常慢。因此&#xff0c…

HBase 读写流程

HBase 读写流程 1. 读流程 Client先访问zookeeper&#xff0c;从zookeeper获取meta region的位置从meta region中读取meta表中的数据&#xff0c;meta中存储了用户表的region信息&#xff1b;根据namespace、表名和rowkey在meta表中找到对应的region信息&#xff1b;找到这个r…

以C++为核心语言的高频交易系统是如何做到低延迟的?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「 c的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 问题中限定语言是C&#xff0c;可…

暗区突围PC测试资格 暗区突围PC端测试资格获取教程

《暗区突围》的横空出世&#xff0c;犹如一颗震撼弹投入了游戏圈&#xff0c;它不仅颠覆了传统射击游戏的框架&#xff0c;更以独特的撤离生存机制和深度的装备打造系统&#xff0c;激发了无数玩家的探险欲和竞技精神。在这个由精密设计的地图和复杂多变的战术构成的虚拟舞台中…

基于Springboot+Vue的Java项目-旅游网站系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

464. 我能赢吗

464. 我能赢吗 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;_464我能赢吗_记忆化dp 错误经验吸取 原题链接&#xff1a; 464. 我能赢吗 https://leetcode.cn/problems/can-i-win/description/ 完成情况&#xff1a; 解题思路&#x…

C#知识|将选中的账号信息展示到控制台(小示例)

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 上篇学习了控件事件的统一关联&#xff0c; 本篇通过实例练习继续学习事件统一处理中Tag数据获取、对象的封装及泛型集合List的综合运用。 01 实现功能 在上篇的基础上实现&#xff0c;点击选中喜欢的账号&#xff0…

【数据结构】二叉树(Binary Tree)

文章目录 一、树的概念及结构二、二叉树的概念及结构1.二叉树的概念2.特殊的二叉树3.二叉树的性质 三、二叉树的存储顺序存储链式存储 四、二叉树的实现1.创建二叉树2.二叉树的遍历前序遍历中序遍历后序遍历层序遍历根据遍历顺序创建二叉树 3.二叉树的基本操作1.总结点个数2.二…

拼多多二面,原来是我对自动化测试的理解太浅了

如果你入职一家新的公司&#xff0c;领导让你开展自动化测试&#xff0c;作为一个新人&#xff0c;你肯定会手忙脚乱&#xff0c;你会如何落地自动化测试呢&#xff1f; 01 什么是自动化 有很多人做了很长时间的自动化但却连自动化的概念都不清楚&#xff0c;这样的人也是很悲…

静态分析-RIPS-源码解析记录-02

这部分主要分析scanner.php的逻辑&#xff0c;在token流重构完成后&#xff0c;此时ini_get是否包含auto_prepend_file或者auto_append_file 取出的文件路径将和tokens数组结合&#xff0c;每一个文件都为一个包含require文件名的token数组 接着回到main.php中&#xff0c;此时…

最少数量线段覆盖-华为OD

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法&#xff0c;所以会发布一些解题思路&#xff0c;希望大家多指教 一、题目描述 给定坐标轴上的一组线段&#xff0c;线段的起点和终点均为整数…

搜维尔科技:【案例分享】Xsens用于工业制造艺术创新设计平台

用户名称&#xff1a;北京理工大学 主要产品&#xff1a;Xsens MVN Awinda惯性动作捕捉系统 在设计与艺术学院的某实验室内&#xff0c;通过Xsens惯性动作捕捉&#xff0c;对人体动作进行捕捉&#xff0c;得到人体三维运动数据&#xff0c;将捕到的数据用于后续应用研究。…

挖了谷歌一个 XSS 漏洞,获奖三千美金

大家好&#xff0c;我是楷鹏。 程序员 Matan 挖到了一个 XSS 漏洞并报告给谷歌&#xff0c;奖励 3133.7 美金&#xff08;约合人民币 22666 元&#xff09; 这是谷歌 Bug Hunter 的奖励规则&#xff1a; &#x1f449; 图片来自 https://bughunters.google.com/about/rules/…

解锁网站SEO优势,百度站长工具助您一臂之力(百度站长平台还提供了哪些工具供seo人员使用?)

在当今数字化时代&#xff0c;网站已经成为企业宣传、产品销售、信息发布的主要渠道之一。有着再好的网站&#xff0c;如果在百度等搜索引擎中无法被用户搜索到&#xff0c;那就等于白搭。因此&#xff0c;网站的SEO优化显得尤为重要。而作为国内最大的搜索引擎&#xff0c;百度…

Web Component fancy-components

css-doodle 组件库 fancy-components 组件库使用 yarn add fancy-components使用&#xff1a; import { FcBubbles } from fancy-components new FcBubbles() //要用哪个就new哪个 new 这里可能会报错eslink,eslintrc.js中处理报错 module.exports {rules: {no-new: off} …