Excel中的数据是按照工单号存储的,且存在如下关系:
工单——母工单——上阶工单
需要分析整理成 母工单——一阶工单——二阶工单……形式的树状关系图。
思路:
1、读取原始文件,转换成一个个工单的list,以及母工单的list
2、以母工单为根节点,生成描述上下阶关系的树
3、将树按照树的样子(不过不是从上到下,二是从左往右,左上角是根节点)写入excel
代码如下:
首先是树相关的类:
# 节点类
class Node:
def __init__(self, value):
self.children = []
self.value = value
def add_child(self, child):
self.children.append(child)
# 树类
class Tree:
def __init__(self):
self.root = None
# 生成树
def gen_tree(self, value, data_list = []):
self.root = Node(value)
# 递归生成树
def gen_tree_recursive(node):
for item in data_list:
if item['parent'] == node.value:
entry_node = gen_tree_recursive(Node(item['name'