用python实现xmind用例转换为excel/csv用例

python 复制代码
from xmindparser import xmind_to_dict
from openpyxl import Workbook

# 解析XMind文件
xmind_file = 'path/to/xmind/file.xmind'
xmind_data = xmind_to_dict(xmind_file)

# 创建Excel文件
excel_file = 'path/to/excel/file.xlsx'
wb = Workbook()
ws = wb.active

# 定义用例表格的列名
ws['A1'] = 'Title'
ws['B1'] = 'Description'
ws['C1'] = 'Priority'
ws['D1'] = 'Steps'
ws['E1'] = 'Expected Result'

# 获取用例数据
case_data = xmind_data['topics'][0]  # 假设用例数据在第一个主题下

# 将用例数据写入Excel文件
row = 2  # 从第二行开始写入数据

def process_topic(topic):
    global row
    title = topic['title']
    description = topic['topics'][0]['title']
    priority = topic['topics'][0]['topics'][0]['title']
    steps = topic['topics'][0]['topics'][0]['topics']
    for step in steps:
        step_title = step['title']
        step_description = step['topics'][0]['title']
        # 将用例数据写入Excel文件的相应单元格
        ws[f'A{row}'] = title
        ws[f'B{row}'] = description
        ws[f'C{row}'] = priority
        ws[f'D{row}'] = step_title
        ws[f'E{row}'] = step_description
        row += 1

process_topic(case_data)

# 保存Excel文件
wb.save(excel_file)

xmind转换成csv

python 复制代码
import csv
from xmindparser import xmind_to_dict

# 解析XMind文件
xmind_file = 'path/to/xmind/file.xmind'
xmind_data = xmind_to_dict(xmind_file)

# 创建CSV文件
csv_file = 'path/to/csv/file.csv'
csv_columns = ['Title', 'Description', 'Priority', 'Steps', 'Expected Result']
csv_data = []

# 获取用例数据
case_data = xmind_data['topics'][0]  # 假设用例数据在第一个主题下

def process_topic(topic):
    title = topic['title']
    description = topic['topics'][0]['title']
    priority = topic['topics'][0]['topics'][0]['title']
    steps = topic['topics'][0]['topics'][0]['topics']
    for step in steps:
        step_title = step['title']
        step_description = step['topics'][0]['title']
        # 将用例数据添加到CSV数据列表中
        csv_data.append({
            'Title': title,
            'Description': description,
            'Priority': priority,
            'Steps': step_title,
            'Expected Result': step_description
        })

process_topic(case_data)

# 将CSV数据写入CSV文件
with open(csv_file, 'w', newline='') as file:
    writer = csv.DictWriter(file, fieldnames=csv_columns)
    writer.writeheader()
    for data in csv_data:
        writer.writerow(data)
相关推荐
for_ever_love__10 分钟前
控制流——if、for、while 与可迭代对象
python·大模型开发·循环·控制流
for_ever_love__12 分钟前
PyTorch 张量与 autograd——自动求导怎么工作
pytorch·python·深度学习·自动求导
小小张说故事25 分钟前
Python 里 `is` 和 `==` 到底差在哪?5 个让你怀疑人生的案例 + 对照表
python
XLYcmy1 小时前
PDF 论文处理器 — 改进方向与建议文档
python·pdf·llm·agent·dify·rag·harness
青柠之夏cc1 小时前
前端拖拽功能原生实现,不引入拖拽库完成业务
开发语言·前端·python
曾晓森1 小时前
OpenAI 兼容 API 接入山猫云:先核对分组和价格,再发最小请求
网络·python
OKkankan1 小时前
Python 高阶语法(一):高阶函数、闭包、lambda 与 functools——从底层真正理解装饰器
开发语言·python
智鸟科技GemeOpen开发者智能设备2 小时前
平安校园 AI 智能实时告警系统 智鸟科技·GemeOpen + 谷华科技·融合创新方案白皮书
java·开发语言·python·物联网·智能家居
Sand(ContextGate)2 小时前
Python Agent 测试实战:测试与评估,让 Agent 像传统软件一样可交付
前端·javascript·python·microsoft·ai
空心木偶☜3 小时前
LangChain 概述
python·ai·langchain·ai编程