IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 基于python的excel_to_markdown/xmind的小工具分享 -> 正文阅读

[Python知识库]基于python的excel_to_markdown/xmind的小工具分享

# 不知道小伙伴们在工作中有没有遇到需要把数据转化为xmind展示的需求,下面是我工作中遇到的,自我感觉可以记录并分享的内容(网上资料貌似不多)。

首先:

? ? ? ? 想直接通过excel等等形式,想直接转化为xmind,方法也有:

①直接把excel全部内容拷贝到xmind界面,自然就会生成对应层级的xmind数据。

②暂时想到的是:通过生成Markdown,再导入到xmind中即可。

下面就是相关的代码实现:

相关业务逻辑:我在其他模块解析了业务的接口文档,自动生成了覆盖各个接口的基础用例,我这里就针对于写入excel的 [dict] 进行解析,cases_topic:是服务名称。
?   需要注意的是,markdown->xmind的格式比较特殊:
????????# 代表中心主题;## 代表二级(#与内容中间有空格),以此类推;"- xxx"(中间有空格)代表后续的层级内容,每一层级的内容,需要有2次回车+N个Tab,(N取决于你的内容在第几层级)

class MarkDownParser:
    def __init__(self, cases_topic):
        self.space = ' '
        self.enter = '\n'
        self.cases_topic = cases_topic
        self.save_path = r'./excel_to_markdown.md'

    def markdown_parse(self, cases_list: list):
        with open(self.save_path, 'w', encoding='utf-8')as file:
            markdown_topic = self.markdown_title('main', self.cases_topic)
            file.write(markdown_topic + self.enter)
            temp_scope = ''
            for cases in cases_list:
                cases_scope = cases.get('case_scope')

                if temp_scope != cases_scope:
                    temp_scope = cases_scope
                    file.write(self.markdown_title('sub', temp_scope) + self.enter)
                else:
                    pass

                for _key, _value in self.index_table().items():
                    file.write(self.space * _value)
                    file.write(self.markdown_details(cases.get(_key)))
        file.close()

    @staticmethod
    def markdown_title(level, content):
        if level == 'main':
            _format = '#' + ' ' + content
        else:  
            _format = '##' + ' ' + content
        return _format

    def markdown_details(self, content):
        _format = '-' + ' ' + content + self.enter * 2
        return _format

    @staticmethod
    def index_table():
        cases_order_list = ['method', 'url', 'case_type', 'case_name', 'case_id', 'need_token']  # 后期可抽到配置模块中自主配置,不要写死
        index_dict = {} 
        for index in range(cases_order_list.__len__()):
            index_dict.update({cases_order_list[index]: index})
        return index_dict





这只是个小demo,后续还要继续丰富;
这可能看起来觉得很菜,不喜勿喷哈,欢迎各位大神指正,也欢迎各位提出宝贵的建议。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:08:59  更:2021-10-21 12:11:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:29:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码