【Python】WPS、Excel表格处理(一) xlrd模块

python操作excel主要用到xlrd和xlwt这两个库,即xlrd是 excel,xlwt是 excel的库,这两个适用于.xls格式有效

读操作(xlrd模块)

xlrd模块安装

在cmd窗口 pip install xlrd

封装工具(函数在下面介绍)

import xlrd
import os

class ExcelTools:
    # Excel读取相关 -------------------------------------------------------------------------------
    # 打开Excel并读取数据
    @staticmethod
    # 读取表格
    def readExcel(file, sheet_index=0,sheet_name='Sheet1'):
        data = xlrd.open_workbook(file)#文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符

        table = data.sheets()[0]  # 通过索引顺序获取
        # table = data.sheet_by_name(sheet_name)  # 通过名称获取
        # table = data.sheet_by_index(sheet_index) # 通过索引顺序获取

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

        # names = data.sheet_names()  # 返回book中所有工作表的名字
        # data.sheet_loaded(sheet_name or indx)  # 检查某个sheet是否导入完毕

        return table


    # 获取行数
    @staticmethod
    def get_row_count(table):
        return table.nrows

    # 获取列数
    @staticmethod
    def get_col_count(table):
        return table.ncols

    # 读取指定行
    @staticmethod
    def get_row_data(table, index):
        return table.row_values(index)

    # 读取指定列
    @staticmethod
    def get_col_data(table, index):
        return table.col_values(index)

    # 读取单元格数据
    @staticmethod
    def get_cell_data(table, row, col):
        return table.cell(row, col)





导入模块

import xlrd

打开Excel文件读取数据

data = xlrd.open_workbook(file)

参数:文件名以及路径(如果路径或者文件名有中文给前面加一个r表示原生字符)

sheet(工作表)操作

在这里插入图片描述

  1. 通过索引顺序获取sheet
table = data.sheets()[0]
  1. 通过索引顺序获取sheet
table = data.sheet_by_index(sheet_indx))
  1. 通过名称获取sheet
table = data.sheet_by_name(sheet_name)
  1. 返回book中所有工作表的名字
names = data.sheet_names()
  1. 检查某个sheet是否导入完毕
data.sheet_loaded(sheet_name or indx)

行操作

在这里插入图片描述

获取该sheet中的有效行数(属性)

nrows = table.nrows

返回由该行中所有的单元格对象组成的列表

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)

列操作

在这里插入图片描述

获取列表的有效列数(属性)

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)  

单元格操作

返回单元格对象

table.cell(rowx,colx) 

返回单元格中的数据类型

table.cell_type(rowx,colx)  

返回单元格中的数据

table.cell_value(rowx,colx) 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

列队猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值