您的位置:首页 > 编程语言 > Python开发

python3 利用xlrd模块封装实现读取表格数据

2018-08-27 17:44 579 查看
版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z564359805/article/details/82116589
[code]#!/usr/bin/env python
# coding=utf-8
# 封装实现读取表格数据

import xlrd

class ExcelUtil:
# def __init__(self, excel_path, sheet_name):
def __init__(self, excel_path):
self.data = xlrd.open_workbook(excel_path)
# 这个可以根据传入进来的sheet表名字来获取
# self.table = self.data.sheet_by_name(sheet_name)
# 直接获取第一个sheet表
self.table = self.data.sheets()[0]
# 获取第一行作为key值
self.keys = self.table.row_values(0)
# 获取总行数
self.rowNum = self.table.nrows
# 获取总列数
self.colNum = self.table.ncols

def dict_data(self):
if self.rowNum <= 1:
print("总行数小于1")
else:
r = []
j = 1
for i in range(self.rowNum - 1):
s = {}
# 从第二行取对应values值
values = self.table.row_values(j)
for x in range(self.colNum):
s[self.keys[x]] = values[x]
r.append(s)
j += 1
return r

if __name__ == "__main__":
# excel文件路径
filePath = "./123.xlsx"
# sheet表名字传参
# sheetName = "企业在线产品列表"
# data = ExcelUtil(filePath, sheetName)
data = ExcelUtil(filePath)
# 打印最后信息
print(data.dict_data())

结果类似为:

[{'name': '欧罗', 'id1': 421.0, 'id2': 2437.0}, {'name': '欧罗', 'id1': 422.0, 'id2': 2443.0}]

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐