#记录⾏数
rowIndex = 1
#每个完整⽤例⼦主题的个数
caseCount = 0
#同层级主题个数
level_equal = 0
def get_xmind_zen_dict(ws, case_topics,main_topic):
"""
:param case_topics: ⽤例集
:return:
遍历过程中需要有以下标记
1、层级标记:主标题 - 分⽀标题 - 同级标题 - ⼦标题
2、⽤例条数:对应Excel的⾏数
"""
# ⾸层
feature_topic_count = len(case_topics)
global rowIndex
global columnIndex
global caseCount
global level_equal
# 遍历⽤例集,直到⽆topics表⽰⽤例遍历完成
for index in range(0, feature_topic_count):
# 当前层级主题的标题
topic_title = case_topics[index]['title']
print(topic_title)
#将已经提取出来的外层主题进⾏对⽐,设置为最外层的⽤例名
if topic_title in main_topic:
columnIndex = 1
# ⾸先,将主功能占位
columnIndex += 1
if 'topics' in case_topics[index].keys():
# 当前层级下⼦主题数组
# 每提取⼀次⼦主题,count即++⼀次,记录分⽀数量
caseCount += 1
topic_topics = case_topics[index]['topics']
# 递归
get_xmind_zen_dict(ws, topic_topics,main_topic)
else:
# 某⼀个分⽀遍历结束,需要做⼀次标记,⾏列需要还原
#同层级最末分⽀
level_equal_temp = len(case_topics)
#处理⾏、列数值
if  level_equal_temp > 1:
columnIndex -= 1
level_equal += 1
rowIndex += 1
#⼀次for循环结束后,还原
if level_equal == feature_topic_count:
python代码转换columnIndex = columnIndex - caseCount +1
if __name__ == '__main__':
# ⽤例地址
file_path = 'Xmind转成ind'
# ⾸层画布
xmind_origin = xmind_to_dict(file_path)

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