Python3实现转xmind思维导图文件到excel
文章目录
- 背景
- xmind转换效果
- xmind文件
- Excel文件
- 格式一:合并单元格布局
- 格式二:枢纽布局
- 代码实现
- 可执行文件下载地址
- TODO
背景
在一些快速迭代的团队中,测试工程师没有时间整理完整的测试用例,或者没有专门的测试用例管理工具(比如testlink,禅道,JIRA等),一些测试工程师会使用xmind的思维导图来记录测试用例。这种方式虽然可以很清晰的看到测试点,但是弊端就是不方便标记结果。
我就在团队中遇到了使用xmind来记录测试用例的情况,在执行这些用例的时候就想要转成excel,方便在测试过程中随时标记结果,生成测试报告。
但是,xmind转excel需要会员,那对于我这种本不富裕的测试同学来说,就只好自力更生,自己转。
xmind转换效果
xmind文件
Excel文件
支持一下两种格式,默认使用格式一。
格式一:合并单元格布局
格式二:枢纽布局
代码实现
暂时只支持一个画布上一个父主题的情况,xmind中的note
,callout
等暂时不支持,会不写入excel中。以下代码转xmind到excel时会按照合并单元格的样式展示。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from xmindparser import xmind_to_dict
from openpyxl import Workbook, load_workbook
from openpyxl.styles import Alignmentdef write_sub_note_to_excel(datadict, cur='', excel=None):'''把每个最终节点,带路径写入excel:param datadict::param cur::param excel::return:'''for k, v in datadict.items():if type(v) is dict:write_sub_note_to_excel(v, cur, excel)elif isinstance(v, list):for i in v:if isinstance(i, dict):write_sub_note_to_excel(i, cur, excel)else:if not 'topics' in datadict and k == 'title':wb = load_workbook(excel)ws = wb.activews.append((cur + '-' + v).split('-')[1:])wb.save(excel)print("{0} : {1}".format(k, cur + '-' + v))cur = cur + '-' + vdef format_excel(excelfile):'''调整excel格式,做合并单元格:param excelfile::return:'''wb = load_workbook(excelfile)ws = wb.activefor cols in ws.iter_cols(max_row=ws.max_row, max_col=ws.max_column):srow = cols[0]for col in cols[1:]:if col.value == srow.value:if col == cols[ws.max_row - 1] and col.value is not None:ws.merge_cells(':'.join([srow.coordinate, col.coordinate]))srow.alignment = Alignment(horizontal="center", vertical="center")else:if srow.value is not None:# print(':'.join([srow.coordinate, col.column_letter + str(col.row - 1)]))ws.merge_cells(':'.join([srow.coordinate, col.column_letter + str(col.row - 1)]))srow.alignment = Alignment(horizontal="center", vertical="center")srow = colwb.save(excelfile)if __name__ == '__main__':import sysxmind_file = sys.argv[1] # 输入D:\XX测试用例.xmindxmind_dict = xmind_to_dict(xmind_file)print(xmind_dict)# 生成的excel文件名wb = Workbook()excelfile = xmind_file.replace('.xmind', '.xlsx')wb.save(excelfile)wb = load_workbook(excelfile)ws = wb.active# xmind解析后的dict格式如下:# [{'title': '画布 1', 'topic': {'title': 'XX测试用例', 'topics': []}}]# 所以需要忽略到第一层的 '画布 1',直接从topic里内容开始转top_topic = xmind_dict[0]['topic']write_sub_note_to_excel(top_topic, excel=excelfile)# 需要格式二:枢纽布局来逐条查阅的小伙本,直接把下面这行format_excel注释掉即可format_excel(excelfile)
可执行文件下载地址
给不会Python3或者不想尝试的小伙伴也准备了个可以在Windows10上运行的可执行文件。打开CMD,执行exe即可。
D:\>xmind2excel.exe XX测试用例.xmind
链接:https://pan.baidu.com/s/1HOtUcX3dr8msntEXGMe1gw
提取码:kcej
TODO
- 支持标注和笔记,写入excel中
Python3实现转xmind思维导图文件到excel相关推荐
- Xmind思维导图转化为Excel用例
使用python实现Xmind思维导图转化为Excel用例,通过pyinstaller打包成exe可执行文件,方便使用. 主界面如下: 帮助提示界面: 最终是实现按一定的布局自动生成Excel用例:
- 【测试工具】Xmind思维导图一键生成Excel测试用例
测试的小伙伴应该经常会遇到一个问题,就是在进行测试需求点分析时都会使用Xmind思维导图工具进行测试点的分析,写完之后再编将其编写成对应的Excel格式的文档,方便导入到测试管理管理工具如禅道之类的系 ...
- xmind思维导图文件如何不下载任何软件进行查看
1.首先浏览器地址栏搜索"百度脑图",进入百度脑图官方网站https://naotu.baidu.com/ 2.点击马上开启按钮,进入主界面 3.点击百度脑图->打开-> ...
- Redis 远程字典服务及shell全部命令汇总【点击可查看高清原图】(附 xmind思维导图原文件 百度网盘)
xmind思维导图原文件分享 链接:https://pan.baidu.com/s/10lGFF9OlxU8a5cfzCYYJKA 提取码:ugi2
- 怎样用XMind 8将思维导图导出为Excel文件
XMind 8是一款思维导图软件,然而思维导图文件却不是一个通用格式.所以它提供了许多其他导出格式,方便用户以合适的文件格式进行分享或使用.XMind目前支持的文件导出格式有PDF.SVG.MS Ex ...
- xMind思维导图软件
xmind源码下载: http://code.google.com/p/xmind3 xMind官方网站: http://www.xmind.net 思维导图软件 XMind 与 FreeMind 的 ...
- XMind思维导图安卓PC直装入门下载及常见问题解决教程
XMind作为一款优秀的思维导图软件,被应用于各个领域,不失为一款易用.高效的可视化思维软件,从用户的角度出发,帮助用户实现真正意义上的提高生产率. XMind是一款让你专注思维,捕捉每一个灵感瞬间的 ...
- Xmind 思维导图v22
一款让你专注思维,捕捉每一个灵感瞬间的 App [资源名称]:Xmind 思维导图 [资源版本]:22.09.158 [资源大小]:38.55MB [测试机型]:realme [资源介绍]:1.为工作 ...
- XMind 2020 for mac (XMind思维导图)
xmind 2020中文版是一款十分实用的思维导图软件.相信很多用户都还不了解XMind,XMind官方版优化了许多功能,性能上大大提高.使用XMind思维导图可以帮助用户完成逻辑图.树形图.组织结构 ...
最新文章
- php trace 函数,PHP Trace 实现原理
- gin 优雅重启或停止
- RocketMQ(四):生产者消费者实践
- 【Java并发编程】之八:多线程环境中安全使用集合API
- AI 人工智能 探索 (八)
- 能测试快充真假的软件,苹果iOS 12可自行测试真假快充:山寨充电器将被洗牌
- 淘宝电商页面和产品海报设计PSD分层素材模板
- LockSupport HotSpot里park/unpark的实现
- NOIP2016DAY1题解
- [超详细] 在Edge/Chrome浏览器上为B站开启HEVC硬解和AV1硬解(支持4K120Hz、8K、HDR真彩,杜比视界、杜比全景声)
- 微信公众平台:微信网页授权和微信支付
- 【R语言数据科学】(十三):有趣的概率学(下)
- 123457123456#0#-----com.cym.shuXue02--前拼后广--开心学数学
- 替换mysql数据库_mysql数据库的替换
- 新电脑自带win11刷win10 系统之后出现的触摸屏/板失灵等问题
- JavaScrpit+Html实现日期时间启动、停止操作(应用场景:计时器、秒表)
- 移动App Store测试的“七宗罪”
- soot基础 -- soot 中的处理阶段
- 联发科MT6893怎么样 联发科MT6893参数配置
- 书写函数:求棋盘上芝麻重量