Excel自动化办公_读取数据_xlrd库

前言使用Python3以上版本,个人使用编辑器pyCharm,作者将不在正文部分赘述Python环境和pyCharm安装的过程,使用本文章前,请安装好Python3的环境,自己使用自己喜欢的编辑器即可。倘若作者后面有时间,会将Python3以及pyCharm的安装教程全部放上来,感谢相遇。

 

> 安装xlrd库

在本地的命令行【快速打开CMD的快捷键:WIN+R】中使用命令安装:

命令如下:

pip install xlrd

或者

pip3 install xlrd

查看是否安装成功的命令:

pip list

在pyCharm中安装也是一样的命令,安装位置

倘若使用命令安装不上,请点击这里:https://pypi.org/project/xlrd/#files

进入网址后,你将看到下面的内容:

下载红色边框中的内容,存储到你自己知道的位置,然后再使用下面的命令:

pip install 存储完整的路径

最后提一点:【放置的位置最好为自己比较熟悉的位置,为了以后使用更加方便。】

> xlrd常用的函数

读取文件函数:【open_workbook()】

使用方法,如下:

import xlrd   # 导入xlrd库

# 读取自己电脑上的excel的文件【路径要写正确】
data = xlrd.open_workbook("C:Users\Shinelon\Desktop\T1test.xlsx")

判断excel表是否被加载的函数:【sheet_loaded()】

data.sheet_loaded(0) # 判断第一个工作表是否被加载,返回布尔值true或者false,括号内是工作簿中工作表的下标。

判断excel表是否被卸载的函数:【unload_sheet()】

data.unload_sheet(0) # 判断第一个工作表是否被卸载,返回值none

完整的代码

import xlrd

# data = xlrd.open_workbook("C:/Users/Shinelon/Desktop/T1test.xlsx")
data = xlrd.open_workbook("C:Users\Shinelon\Desktop\T1test.xlsx")

"""
    data.sheet_loaded(0) # 判断第一个工作表是否被加载,返回布尔值true或者false
    data.unload_sheet(0) # 判断第一个工作表是否被卸载,返回值none
"""
print(data.sheet_loaded(0))
print(data.unload_sheet(0))
print(data.sheet_loaded(0))

运行结果

从工作簿中获取所有的工作表信息的函数:【sheets()】

print(data.sheets()) # 获取所有的工作表,返回一个列表,列表内存的是转义后多个工作表的信息。

运行结果

 获取对应工作表的三种方法

data.sheets()[0] # 根据下标获取工作表
data.sheet_by_index(0) # 根据索引获取工作表
data.sheet_by_name('Sheet1') # 根据工作表名获取工作表

运行结果

返回所有工作表名的函数:【sheet_names()】

data.sheet_names() # 返回所有工作表名

运行结果

返回工作表的数量:【nsheets】

data.nsheets # 返回工作表的数量

 以上的函数都是比较常用的几个函数,需要牢牢地掌握,下面的内容重点掌握

 

> xlrd操作excel行

操作对应工作表中的行
        sheet.nrows # 获取工作表中有效行数
        sheet.row() # 返回该行中所有元素组成的列表。
        sheet.row_types() # 返回该行中所有元素的数据类型,0-空,1-文本,2-数字,3-日期,4-布尔,5-array
        sheet.row(1)[2] # 由于row()方法返回的是列表,所以可使用下标获取该行中对应的单元格内的元素。在其后加.value,可直接获取值
        sheet.row_values() # 不带类型,只获取值,返回一个列表
        sheet.row_len() # 返回row()方法返回的列表,他的长度。

 

> xlrd操作excel列

 

操作对应工作表中的列
        sheet.ncols # 获取工作表中有效列数
        sheet.col() # 返回该列中所有元素组成的列表。
        sheet.col_types() # 返回该列中所有元素的数据类型,0-空,1-文本,2-数字,3-日期,4-布尔,5-array
        sheet.col(1)[2] # 由于col()方法返回的是列表,所以可使用下标获取该列中对应的单元格内的元素。在其后加.value,可直接获取值
        sheet.col_values() # 不带类型,只获取值,返回一个列表
        sheet.col_len() # 返回col()方法返回的列表,他的长度。

 

> xlrd操作excel单元格

直接操作单元格
        sheet.cell(2, 3) # 第一位代表行数,第二位代表列数
        sheet.cell_type(2, 3) # 获取单元格的数据类型
        sheet.cell(2, 3).ctype # 获取单元格的数据类型
        sheet.cell_value(2, 3) # 获取单元格中的值
        sheet.cell(2, 3).value # 获取单元格中的值 

 

> 完整代码

"""
    author: ml_YSY
    date: 2021.03.11
    effect:  study xlrd 读取工作表功能
"""

import xlrd

# data = xlrd.open_workbook("C:/Users/Shinelon/Desktop/T1test.xlsx")
data = xlrd.open_workbook("C:Users\Shinelon\Desktop\T1test.xlsx")
"""
    data.sheet_loaded(0) # 判断第一个工作表是否被加载,返回布尔值true或者false
    data.unload_sheet(0) # 判断第一个工作表是否被卸载,返回值none
"""
# print(data.sheet_loaded(0))
# print(data.unload_sheet(0))
# print(data.sheet_loaded(0))


"""
    data.sheets() # 获取所有的工作表,返回一个列表,列表内存的是转义后多个有工作表的信息。
"""
print(data.sheets())

"""
    获取工作表的三种方法:
        data.sheets()[0] # 根据下标获取工作表
        data.sheet_by_index(0) # 根据索引获取工作表
        data.sheet_by_name('Sheet1') # 根据工作表名获取工作表
"""
print(data.sheets()[0])
print(data.sheet_by_index(0))
print(data.sheet_by_name('Sheet1'))

"""
    data.sheet_names() # 返回所有工作表名
"""
print(data.sheet_names())

"""
    data.nsheets # 返回工作表的数量
"""
print(data.nsheets)

"""
    操作对应工作表中的行
        sheet.nrows # 获取工作表中有效行数
        sheet.row() # 返回该行中所有元素组成的列表。
        sheet.row_types() # 返回该行中所有元素的数据类型,0-空,1-文本,2-数字,3-日期,4-布尔,5-array
        sheet.row(1)[2] # 由于row()方法返回的是列表,所以可使用下标获取该行中对应的单元格内的元素。在其后加.value,可直接获取值
        sheet.row_values() # 不带类型,只获取值,返回一个列表
        sheet.row_len() # 返回row()方法返回的列表,他的长度。
"""
sheet = data.sheet_by_index(0)
print(sheet.nrows)
print(sheet.row(1))
print(sheet.row_types(1))
print(sheet.row(1)[2])
print(sheet.row(1)[2].value)
print(sheet.row_values(1))
print(sheet.row_len(1))

"""
    操作对应工作表中的列
        sheet.ncols # 获取工作表中有效列数
        sheet.col() # 返回该列中所有元素组成的列表。
        sheet.col_types() # 返回该列中所有元素的数据类型,0-空,1-文本,2-数字,3-日期,4-布尔,5-array
        sheet.col(1)[2] # 由于col()方法返回的是列表,所以可使用下标获取该列中对应的单元格内的元素。在其后加.value,可直接获取值
        sheet.col_values() # 不带类型,只获取值,返回一个列表
        sheet.col_len() # 返回col()方法返回的列表,他的长度。
"""
# sheet = data.sheet_by_index(0)
print(sheet.ncols)
print(sheet.col(3))
print(sheet.col_types(1))
print(sheet.col(3)[2])
print(sheet.col(3)[2].value)
print(sheet.col_values(1))

"""
    直接操作单元格
        sheet.cell(2, 3) # 第一位代表行数,第二位代表列数
        sheet.cell_type(2, 3) # 获取单元格的数据类型
        sheet.cell(2, 3).ctype # 获取单元格的数据类型
        sheet.cell_value(2, 3) # 获取单元格中的值
        sheet.cell(2, 3).value # 获取单元格中的值 
"""
# sheet = data.sheet_by_index(0)
print(sheet.cell(2, 3))
print(sheet.cell_type(2, 3))
print(sheet.cell(2, 3).ctype)
print(sheet.cell(2, 3).value)
print(sheet.cell_value(2, 3))

本小节结束了,以上的内容都是最为常用的操作,不是太常用的,作者没有进行列举。如需查看属性值可使用pyCharm的快捷查询键位【Ctrl+F】。

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值