import re

class Node:
'''
容器,用来存储前后节点信息
'''
__slot__=[]
def __init__(self,val,next_,pre,name,no):
self.val = val
self.next = next_
self.pre = pre
self.name = name
self.no = no class Tree:
def __init__(self,li):
self.root = Node(-1,[],None,'',-1)
cur_node = self.root
for no,i,name in li:
name = re.sub(r'[ ]+','',name)
while i<cur_node.val:
cur_node = cur_node.pre
node_ = Node(i,[],cur_node,name,no)
if i>cur_node.val:
cur_node.next.append(node_)
node_.name = cur_node.name+'_'+node_.name if cur_node.name!='' else node_.name
elif i == cur_node.val:
node_.pre = cur_node.pre
cur_node.pre.next.append(node_)
node_.name = cur_node.pre.name+'_'+node_.name if cur_node.pre.name!='' else node_.name
cur_node = node_
def newNameDict(self):
if self.root.next:
res = dict()
queue = [self.root]
while queue:
cur = queue.pop(-1)
if cur.no==-1:
pass
else:
res[cur.no] = cur.name
if cur.next:
for i in cur.next:
queue.append(i)
return res pass

Python操作Excel(将父子级表头生成树状结构)的更多相关文章

  1. python基础(六)python操作excel

    一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...

  2. python学习笔记(八)python操作Excel

    一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...

  3. python 操作excel 的包 函数

    ###########sample 1 https://blog.csdn.net/chengxuyuanyonghu/article/details/54951399 python操作excel主要 ...

  4. 自动化办公:python操作Excel

    1.安装 -- upgrade pippython -m pip install --- install pypipip install pypi 执行python setup.py install进 ...

  5. 用Python操作excel文档

    使用Python第三方库 这一节我们学习如何使用Python去操作Excel文档.如果大家有人不知道Excel的话,那么建议先学一学office办公基础.这里想要操作Excel,必须安装一个Pytho ...

  6. python操作excel表格(xlrd/xlwt)

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  7. Python操作Excel

    一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...

  8. Python操作excel(xlrd和xlwt)

    Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...

  9. Python操作excel表格

    用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件 注:本篇代码在Python3环境下运行 首先导入两个模块xlrd和xlwt,xlrd用来读取Exc ...

随机推荐

  1. C# chart.DataManipulator.FinancialFormula()公式的使用 线性回归预测方法

    最近翻阅资料,找到 chart.DataManipulator.FinancialFormula()公式的使用,打开另一扇未曾了解的窗,供大家分享一下. 一 DataManipulator类 运行时, ...

  2. 编写高质量代码改善C#程序的157个建议——建议136:优先使用后缀表示已有类型的新版本

    建议136:优先使用后缀表示已有类型的新版本 加后缀在某些情况下是很奇怪的形式,我们都不愿意看到OrderProcessor2这样的类型.但是,有的时候仍旧有必要这样做.最典型的是FCL中关于数字证书 ...

  3. 11、Semantic-UI之分割线

    11.1 分割线的定义 示例:定义分割线 分割线 <div class="ui divider"></div> 竖线并加入or <div class= ...

  4. set集合排序

    不仅list是有序集合,set也可以变为有序集合. /** * 给字符串时间的set排序 * @return 有序的set集合 */ public static Set getSort(){ Set& ...

  5. php 将二维数组批量插入到数据库中

    $arr = array( array(,'name'=>'ceshi4'), array(,'name'=>'ceshi5'), array(,'name'=>'ceshi6'), ...

  6. 底部导航栏使用BottomNavigationBar

    1.github地址 https://github.com/zhouxu88/BottomNavigationBar 2.基本使用 2,1添加依赖 implementation 'com.ashokv ...

  7. Python 单元测试 增强系统健壮性

    问题背景交代 注意,JulyNovel只爬取免费小说,所有vip章节全部导航至起点网站,遵循robots协议,所有数据仅供学习用途,侵删 通过编写单元测试,提高JulyNovel系统可靠性 首先我们知 ...

  8. .net core i上 K8S(一)集群搭建

    1.前言 以前搭建集群都是使用nginx反向代理,但现在我们有了更好的选择——K8S.我不打算一上来就讲K8S的知识点,因为知识点还是比较多,我打算先从搭建K8S集群讲起,我也是在搭建集群的过程中熟悉 ...

  9. SCPO2015 小凸玩矩阵

    题目链接:戳我 二分答案+最大流. 看到第K大的数的最小值是多少,我们想到二分,把他转化为最大数最小问题--二分一个数x,如果有>=n-k+1个数不比它大,那么它就应当不大于当前数,否则应当大于 ...

  10. 得到windows聚焦图片(windows 10)

    有些Windows聚焦图片确实很漂亮,很希望保留下来,但是Windows聚焦图片总更好,网上有得到聚焦图片的方法,每次都手动去弄真麻烦,于是自己编了一个小程序,自动得到Windows聚焦图片,下面是运 ...