python实现xmind转excel_使⽤Python将xmind脑图转成excel
⽤例(⼀)
最近接到⼀个领导需求,将xmind脑图直接转成可以导⼊的excel⽤例,并且转换成gui可执⾏的exe⽂件,⽅便他⼈使⽤。
因为对Python⽐较熟悉,所以就想使⽤Python3来实现这个功能,先理⼀下思路,⾸先要将xmind转换成Python可⽤的数据格式,正好到了⼀个xmindparser库可以做这个事情,然后就好办了,⽤xlwt库写成xls⽂件,再⽤Python⾃带的gui库 tkinter来写 gui界⾯,最后⽤pyinstaller来打包。
计划分两个py⽂件来写,⼀个⽂件写excel ,⼀个⽂件写gui界⾯,因为需要导⼊的字段⽐较多,⽽且导⼊的格式有严格的要求,所以写excel的逻辑还是有点复杂的,所以我们确定xmind的⽂件有相应的格式来写,测试编号 测试需求 测试⽤例标题 测试⽤例执⾏步骤 测试⽤例预期结果 测试⽤例预置条件都要按照相应的格式来。格式如图
通过xmindparser解析出来的格式是这样的,是Python的字典加列表的格式
从这⾥我们可以分析出来xmind的格式的两个属性是我们⽤的,title 和topics ,其中title是我们要的内容,topics是内容的个数,这⾥可以封装两个函数来⽤,代码我贴出来,因为要求的xls格式不⼀样
所以具体的逻辑还要具体的去写,我是按照我们⼯具要求的excel格式来写的,可以给⼤家参考⼀下,你们需要什么格式可以在write_excel 函数⾥⾯调整逻辑.
下⼀篇再把tkinter设计的gui代码以及如何⽤pyintaller打包成exe贴上来。注:以下代码都是在Python3环境下的
from xmindparser import xmind_to_dict
import re
import xlwt
class xmind_to_xls():
def xmind_num(self,value):
"""获取xmind标题个数"""
try:
return len(value['topics'])
except KeyError:
return 0
def xmind_title(self,value):
"""获取xmind标题内容"""
return value['title']
def xmind_cat(self,filename):
'''调试函数,打印内容⽤的'''
self.out = xmind_to_dict(filename)
self.story = self.out[0]['topic']['topics']
self.num=len(self.story)
print(self.out)
print(self.out[0]['topic']['title'])
return self.story,self.num
def write_excel(self,xmind_file,servicename='',editionname='',performer=''):
'''⽣成excel⽂件函数'''
self.f=xlwt.Workbook()
self.sheet1 =self.f.add_sheet('sheet1',cell_overwrite_ok=True)
for i in range(0,w0)):
self.sheet1.write(0,w0[i])
self.out = xmind_to_dict(xmind_file)
self.xls_name=self.out[0]['topic']['title']
self.story = self.out[0]['topic']['topics']
self.storynum = len(self.story)
j=1 #⽤例计算器
z = 0 # ⽤例结果数计数器
for i in range(0, self.storynum):
self.storyname = self.story[i]['title']
print(self.storyname)
<_str = ".*[\[【](.+?)[\]】].*"
self.storyid_reg = re._str, self.storyname)
if self.storyid_reg:
self.storyid=self.up(1)#正则取出⽤例编号
#print(self.up(1))
for k in range(stcase_num):
self.sheet1.write(k + i + z + j, 2, stcase_name)
self.sheet1.write(k + i + z + j, 0, self.storyid)
self.sheet1.write(k + i + z + j, 1, self.storyname)
self.sheet1.write(k + i + z + j, 5, servicename)
self.sheet1.write(k + i + z + j, 6, editionname)
self.sheet1.write(k + i + z + j, 7, performer)
for x in range(stcase_stepnum):
ststep_num != 0:
python怎么读入excel
for y in range(ststep_num):
self.sheet1.write(k + i + z + j+y+1, 3, ststep_title)
self.sheet1.write(k + i + z + j + y+1, 4, st_result)
z = z + y+1
else:
self.sheet1.write(k + i + z + j+1 , 3, ststep_title)
self.sheet1.write(k + i + z + j+1 , 4, st_result)
z = z + 1
j=j+k
self.f.save(self.xls_name+'.xls') #xls名称取xmind主题名称
if __name__ == '__main__':
xmind_file = "C:\\Users\\Administrator\\Desktop\\版本测试.xmind" # xmind⽂件
servicename='aa'
editionname='bb'
performer='cc'
#xmind_to_xls().write_excel(xmind_file,servicename,editionname,performer)
xmind_to_xls().xmind_cat(xmind_file)
python pandas模块简单使⽤(读取excel为例)
第⼀步:模块安装 pip install pandas 第⼆步:使⽤(单个⼯作表为例) 说明:如果有多个⼯作表,那么只要指定sheetname=索引,(第⼀个⼯作表为0,第⼆个⼯作表为1,以此类推) ...
Python ⽂本(txt) 转换成 EXCEL(xls)
#!/bin/env python # -*- encoding: utf-8 -*- #------------------------------------------------------- ...
⽤Python解析XMind
本⽂来⾃⽹易云社区 作者:孙圣翔 转⾃:/article/35/python-parse-xmind.html XMind是画思维脑图很好的⼯具,正好组⾥有个需 ...
提效⼯具-python解析xmind⽂件及xmind⽤例统计
现状 每个公司都有⼀个维护测试case的系统,有⾃研的也有买的,⽐如QC, 禅道等等,QA往往习惯使⽤xmind等思维导图⼯具来编写测试⽤例,因为思路清晰,编写⽅便,那么这就有⼀个问题,⼤多公司要求所 ...
Java集合总结【⾯试题&plus;脑图】,将知识点⼀⽹打尽!
前⾔ 声明,本⽂⽤的是jdk1.8 花了⼀个星期,把Java容器核⼼的知识过了⼀遍,感觉集合已经⽆所畏惧了!!(哈哈哈....),现在来总结⼀下吧~~ 回顾⽬录: Collection总览 List集 ...
Python解析Xmind⼯具
使⽤Xmind写⽤例 使⽤Python解析Xmind,统计⽤例个数 代码: from xmindparser import xmind_to_dict import tkinter as tk fro ...
EasyUseCase ⼀款脑图转化 Excel 测试⽤例⼯具 (1.2 版本升级)
EasyUseCase 本⼯具由本⼈⾃主开发.经过内部实践有效提升测试⽤例编写效率200% 覆盖率可度量.利⽤读取xmind软件图表转换符合国⼈基本需求的测试⽤例,让⼿动写Excel⽤例的⽇⼦过去,发 ...
尚硅⾕周阳⽼师-redis脑图课件
因为脑图原件是.mmap格式,使⽤wps和xmind打开都会有格式不兼容的问题,这⾥我们可以使⽤mindmanager存为html5交互式格式, 提供在线阅读.因为阿⾥云学⽣服务器带宽有限,这⾥打开加 ...
《Reactive_MircService_Architecture》 脑图
Reactive_MircService_Architecture Lightbend CTO的50页的⼩册⼦,对响应式系统以及微服务架构介绍⾮常全⾯,整理了⼀个脑图来先.
随机推荐
JAVAFX纯⼿写布局
主页⾯效果: 第⼀栏的效果: ⼯程⽬录: package MessageBean; /** * * @author novo */ public class Message { private Str ...
14.python笔记之paramiko
作者:刘耀 博客: 博客园:wwwblogs/liu-yao 转载请注明 ⼀,介绍 1.使⽤paramiko可以很好的解决以上问题,⽐起前⾯的⽅法,它仅需要在本 ...
怎么在ubuntu上使⽤pidgin登陆QQ
1.Ubuntu pidgin安装webqq ⾸先安装webqq的通讯协议: sudo add-apt-repository ppa:lainme/pidgin-lwqq sudo apt-get u ...
XML为数据库进⾏增删改查(实例)
//增删改查⽂件 package xml2; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.Fi ...
JS知识点概况
1.什么是JavaScript a)  JavaScript 被设计⽤来向 HTML 页⾯添加交互⾏为. b)  JavaScript 是⼀种脚本语⾔(脚本语⾔是⼀种轻量级的编程语⾔). c)  ...
jQuery 1.10.2 and 2.0.3 Released
t’s nearly Independence Day here in the USA, so we’re delivering something fresh off the grill: jQue ...
jmeter从外部⽂件取值问题&comma;如果⽂件中的参数值为纯数字形式的,jmeter会默认将其识别成int型数据
如果你通过CSV Data Set Config或者_StringFromFile函数来参数化你的请求,需要特别注意当参数为纯数字时,jmeter会默认将其识别成int型数据,说明jmeter并不是默 ...
浅谈web移动端适配问题
⼀.布局⽅案 ⽬前在解决移动端页⾯适配问题⽅案选择上,⽬前⽤得⽐较多是百分⽐布局,弹性布局flex,rem布局,本⽂将重点跟⼤家探讨rem布局. ⼆.viewport 在介绍rem布局之前,⾸先跟⼤家 ...
⼿机端仿ios的银⾏下拉脚本五
代码
DCGAN 论⽂简单解读
DCGAN的全称是Deep Convolution Generative Adversarial Networks(深度卷积⽣成对抗⽹络).是2014年Ian J.Goodfellow 的那篇开创性的 ...

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。