Ptyhon xlrd常用函数用法介绍

一、安装xlrd模块

   1、到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。

   2、直接cmd,pip install xlrd即可。

二、使用介绍

  1、常用单元格中的数据类型

    0 empty,1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank

  2、导入模块

      import xlrd

   3、打开Excel文件读取数据

       data = xlrd.open_workbook(filename)

   4、常用的函数

        excel中最重要的方法就是book和sheet的操作。

 

        1)获取book中一个工作表

        table = data.sheets()[0]          #通过索引顺序获取
        table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取

        table = data.sheet_by_name(sheet_name)#通过名称获取

        以上三个函数都会返回一个xlrd.sheet.Sheet()对象

 

        names = data.sheet_names()    #返回book中所有工作表的名字

        data.sheet_loaded(sheet_name or indx)   # 检查某个sheet是否导入完毕

 

        2)行的操作

         nrows = table.nrows  #获取该sheet中的有效行数

         table.row(rowx)  #返回由该行中所有的单元格对象组成的列表

         table.row_slice(rowx)  #返回由该列中所有的单元格对象组成的列表

         table.row_types(rowx, start_colx=0, end_colx=None)    #返回由该行中所有单元格的数据类型组成的列表

         table.row_values(rowx, start_colx=0, end_colx=None)   #返回由该行中所有单元格的数据组成的列表

         table.row_len(rowx) #返回该列的有效单元格长度

 

        3)列(colnum)的操作

         ncols = table.ncols   #获取列表的有效列数

         table.col(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表

         table.col_slice(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表

         table.col_types(colx, start_rowx=0, end_rowx=None)    #返回由该列中所有单元格的数据类型组成的列表

         table.col_values(colx, start_rowx=0, end_rowx=None)   #返回由该列中所有单元格的数据组成的列表

 

         4)单元格的操作

         table.cell(rowx,colx)   #返回单元格对象

         table.cell_type(rowx,colx)    #返回单元格中的数据类型

         table.cell_value(rowx,colx)   #返回单元格中的数据

         table.cell_xf_index(rowx, colx)   # 暂时还没有搞懂

 

     5、自己二次封装部分函数

class ExcelRead:
    def __init__(self,excelpath):
        '''打开指定的excel文件'''
        self.excelread=xlrd.open_workbook(excelpath)

    def get_AllSheets(self):
        '''获取所有的sheets'''
        sheets=self.excelread.sheet_names()
        return sheets

    def get_SheetbyName(self,sheetname):
        '''
        通过name获取指定的sheet
        :param sheetname: sheet名称
        :return: sheet
        '''
        sheet=self.excelread.sheet_by_name(sheetname)
        return sheet

    def get_nrows(self,sheetname):
        '''
        获取指定sheet的行数
        :param sheetname:sheet名称
        :return: sheet总行数
        '''
        sheet=self.get_SheetbyName(sheetname)
        rows_num=sheet.nrows
        return rows_num

    def get_ncolumns(self,sheetname):
        '''
        获取指定sheet的列数
        :param sheetname:sheet名称
        :return: sheet总列数
        '''
        sheet=self.get_SheetbyName(sheetname)
        columns_num=sheet.ncols
        return columns_num

    def get_value(self,sheetname,row,col):
        '''
        通过行、列定位单元格获取value
        :param row: 行
        :param col: 列
        :return: 单元格value
        '''
        sheet=self.get_SheetbyName(sheetname)
        getvalue=sheet.cell_value(row,col)
        return getvalue

    def get_row_values(self,sheetname,row):
        '''
        获取excel一行的数据
        :param sheetname:sheet名称
        :param row: 行数
        :return: 返回一行的数据
        '''
        row_value_list=[]
        sheet=self.get_SheetbyName(sheetname)
        sheet_row_len=sheet.ncols       #通过列数获取一行元素的长度
        for i in range(sheet_row_len):
            get_value=self.get_value(sheetname,row,i)
            row_value_list.append(get_value)
        return row_value_list

    def get_column_values(self,sheetname,col):
        '''
        获取excel一列的数据
        :param sheetname:sheet名称
        :param col: 列数
        :return: 返回一列的数据
        '''
        col_value_list=[]
        sheet=self.get_SheetbyName(sheetname)
        sheet_column_len=sheet.nrows    #通过行数获取一列元素的长度
        for i in range(sheet_column_len):
            get_value=self.get_value(sheetname,i,col)
            col_value_list.append(get_value)
        return col_value_list
  • 24
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
`xlrd.open_workbook` 是一个函数,它可以打开一个 Excel 文件,并返回一个 `Workbook` 对象,该对象可以用于读取该 Excel 文件中的数据。 以下是 `xlrd.open_workbook` 函数常用参数和用法: ```python import xlrd workbook = xlrd.open_workbook('example.xlsx') # 打开 example.xlsx 文件,返回一个 Workbook 对象 worksheet = workbook.sheet_by_index(0) # 获取第一个工作表 # 读取数据 for row in range(worksheet.nrows): for col in range(worksheet.ncols): cell_value = worksheet.cell_value(row, col) print(cell_value) ``` 其中,`xlrd.open_workbook` 函数的参数可以是文件名或文件对象,常用参数如下: - `filename`:要打开的 Excel 文件名。 - `file_contents`:要打开的 Excel 文件的内容,以二进制字符串或字节串的形式传入。 - `on_demand`:是否启用懒加载模式,即只有在需要读取某个工作表时才会将其加载到内存中,默认为 False。如果 Excel 文件很大,可以使用这个参数来减少内存占用。 如果成功打开 Excel 文件,则 `xlrd.open_workbook` 函数会返回一个 `Workbook` 对象,该对象包含以下常用属性和方法: - `sheet_names()`:返回一个列表,包含工作簿中所有工作表的名称。 - `sheet_by_name(name)`:根据工作表名称返回一个 `Sheet` 对象。 - `sheet_by_index(index)`:根据工作表索引返回一个 `Sheet` 对象。 - `nsheets`:返回工作簿中工作表的数量。 - `sheet_loaded(sheet_name_or_index)`:返回一个布尔值,表示指定的工作表是否已经被加载到内存中。 - `unload_sheet(sheet_name_or_index)`:卸载指定的工作表,释放该工作表占用的内存。 - `release_resources()`:释放所有占用的资源。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值