python实现xmind转excel_用 python 实现 xmind 和 mindjet 格式互转
一直想找一款跨平臺的免費又好用的思維導圖軟件,可是哪有兩全其美的事呢,個人感覺安卓版的 mindjet 相對好用一些,windows 和 linux 版的 xmind 相對好用一些,但是 xmind 和 mindjet 的格式肯定是不兼容的,而探索發現,他們的文檔解壓之后都是以 xml 方式儲存的,壓縮也是簡單的 zip 壓縮,也沒有任何加密,于是,故事開始了。
簡介
經過大概八小時的開發后,這樣一個轉換器成功誕生。這是一款用 python3 實現的簡單的 xmind 與 mindjet 格式之間的互轉工具,只保留樹狀思維導圖以及折疊功能,另外還可以額外可以轉化成 txt,用縮進來表示樹狀圖。
后來發現 xmind-zen 保存的文檔無法在 xmind8 中打開,所以又添加了 xmind-zen 文檔的支持。
項目已放到 github 開源,以便保存和后續隨時修改。
實現原理
數據結構
利用 python 的列表嵌套列表來儲存思維導圖的樹狀結構,例如
1
2
3
4
5
6
7o
├── a
│ ├── 1
│ ├── 2
│ └── 3
├── b
└── c
以上樹狀結構在代碼中被儲存為
1
2
3
4
5['o',
False,
[['a', False, [['1', False, []], ['2', False, []], ['3', False, []]]],
['b', False, []],
['c', False, []]]]
其中 False 表示未被折疊
各個文檔格式的存取
xmind 8
xmind 8 保存的格式是 zip 格式,解壓后得到若干個文件,樹狀圖數據以 xml 格式保存在 content.xml 里面。
xmind-zen
xmind-zen 保存的格式是 zip 格式,解壓后得到若干個文件,樹狀圖數據以 json 格式保存在 content.json 里面。
Mindjet Maps
Mindjet Maps 保存的格式是 zip 格式,解壓后得到一個文件 Document.xml,樹狀圖數據以 xml 格式保存在其中。
txt
這是我自己創建的文本文檔格式方便調試儲存和轉換,用縮進的方式表示樹狀圖,用垂直制表符表示是否被折疊
代碼風格易擴展,后續隨時可以添加更多格式的支持,可以在 Issues 里面提出,有時間我會補充。
用法
命令格式
1mmconv.py 源文件 [目標文件] [-t 格式]
參數詳解
1
2
3
4
5
6
7
8
9
10
11
12
13位置參數:
源文件 表示要轉換的文件。
目標文件 目標文件名。轉換成功的保存的文件路徑。
如果未指定目標文件,則直接打印源文件類型。
可選參數:
-h, --help 顯示此幫助消息并退出
--type {txt,mmap,xmind,zen}, -t {txt,mmap,xmind,zen}
指定目標文件的類型。目前支持以下類型:
xmind - XMind 8 文檔
zen - XMind zen 文檔
txt - txt 文本文檔
mmap - Mindjet maps 文檔
若未指定 --type 類型參數,則默認為 txt。
源文件的格式不用指定,會自己識別,詳見 --help
用法示例
1
2
3
4
5
6
7
8
9
10
11#將 a.xmind 轉換成 txt 格式
mmconv.py a.xmind a.txt
#將 a.xmind 轉換成 mmap 格式
mmconv.py -t mmap a.xmind a.mmap
#將 a.txt 轉換成 xmind 格式
mmconv.py -t xmind a.txt a.xmind
#將 a.xmind 轉換成 xmind-zen 格式
mmconv.py -t zen a.xmind b.xmind
總結
以上是生活随笔為你收集整理的python实现xmind转excel_用 python 实现 xmind 和 mindjet 格式互转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一分钟说清:5G网络优化工程师各级别要求
- 下一篇: jsp 上传转码_Java实现视频网站的