码迷,mamicode.com
首页 > 编程语言 > 详细

python操作Excel(模块xlrd)

时间:2019-09-23 18:34:54      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:显示   数据   赋值   python   模块   ima   pre   sel   读取   

#!/usr/bin/env python3
# -*-coding:utf-8-*-
# __author__: hunter

import xlrd
import unittest


class Data_excel(unittest.TestCase):
    file_addrec = D:/hunter_/interfaceTest/interface/tool/demo.xlsx  # 定义全局变量,damo.xlsx数据维护Excel的路径文件

    def open_excel(self, file=file_addrec):

        self.data = xlrd.open_workbook(file)            # 得到一个excel文件的book对象,并赋值给一个变量
        return self.data                                # 返回data

        # try:                                            # 检查文件有没有获取到
        #     self.data = xlrd.open_workbook(file)        # 得到一个excel文件的book对象,并赋值给一个变量
        #     return self.data                            # 返回data
        # except Exception:
        #     print(file)
        #     print(‘eero‘)

    # 把读取到的Excel封装在excel_table_byindex函数中,需要三个参数,1、文件file  2、sheet名称by_index  3、列所在的行数colnameindex
    def excel_table_byindex(self, file=file_addrec, by_index=case, colnameindex=0):
        self.data = xlrd.open_workbook(file)  # 获取Excel数据
        self.table = self.data.sheet_by_name(by_index)  # 使用sheet_by_name获取sheet页名叫用户表的sheet对象数据
        self.colnames = self.table.row_values(colnameindex)  # 获取行数下标为0也就是第一行Excel中第一行的所有的数据值
        self.nrows = self.table.nrows  # 获得所有的有效行数
        list = []  # 总体思路是把Excel中数据中数据以字典的形式存在字符串中一个字典当成一个列表元素
        for rownum in range(1, self.nrows):
            row = self.table.row_values(rownum)  # 获取所有行数每一行的数据值
            if row:
                app = {}  # 以字典格式显示,至于字典中有多少元素主要看有多少列
                for i in range(len(self.colnames)):
                    app[self.colnames[i]] = row[i]
                list.append(app)

        print(list)
        return list


a = Data_excel()
a.excel_table_byindex()

if __name__ == __main__:
    unittest.main()

操作结果:

技术图片

 Excel表:

技术图片

 

python操作Excel(模块xlrd)

标签:显示   数据   赋值   python   模块   ima   pre   sel   读取   

原文地址:https://www.cnblogs.com/hemingwei/p/11573728.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!