使用python的xlrd模块解析excel的多级结构

本文介绍如何使用Python的xlrd模块解析具有多级结构的Excel文件。通过构建多叉树来表示Excel的表头结构,并依据合并单元格信息生成树形结构。递归遍历表头生成树后,解析每一行数据,最终形成解析结果。
摘要由CSDN通过智能技术生成

使用xlrd解析excel的多级结构

构建多叉树和结点结构

由于要支持多级嵌套的表结构, 所以单纯的按照列的顺序来解析每行数据肯定达不到需求。所以约定

Excel表头结构, 如果一个属性包含二级属性,则在该属性下新建一行表头,表明二级属性名称

如下图所示:

示例图片

然后按照表头结构,构建一个多叉树,每行数据解析的时候遍历多叉树结构解析。

首先构建多叉树和数的结点

class node:
    def __init__(self, des, x, y):
        self._des = des
        self._coordinate = [x, y]
        self._children = []
    def getDes(self):
        return self._des
    def getCoordinate(self):
        return self._coordinate
    def getChildren(self):
        return self._children
    def addChild(self, node):
        self._children.append(node)

class tree:
    def __init__(self):
        self._head = node("head", -1, -1)
    def addChild(self, node):
        self._head.addChild(node)
    def getHead(self):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值