百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python读取Excel表格模块:xlrd介绍

off999 2024-09-20 22:42 45 浏览 0 评论

处理数据对Python来说,比较容易,操作简单,功能强大,短短几行代码,就可处理大量的数据信息,下面介绍Python处理Excel表格的一个模块:xlrd。

一、xlrd简介及安装

xlrd是Python处理Excel表格数据的一个模块,他可以对Excel数据进行读取,包括:

1、读取Excel的行数、列数、行的值、列的值、

2、读取单元格的值、数据类型

3、增加、删除、修改表格数据

4、导出导入工作表等

xlrd的安装比较简单,只要打开cmd命令框,然后输入:pip install xlrd即可,或者打开编译器jupyter book,然后在代码栏里输入:pip install xlrd也可以安装,然后在代码栏里输入如下代码查看是否安装成功(能看到版本号即表示安装成功):

import xlrd
xlrd.__version__    #  __ 是双下划线

二、xlrd函数介绍

1、open_workbook(path)

顾名思义,此函数就是打开工作表格,即打开一个Excel表,path为Excel文件的路径。其操作如下:

import  xlrd
xls = xlrd.open_workbook("file/编程语言排名.xls")

open_workbook()函数返回的是一个对象,即指向Excel工作表“编程语言排名.xls”的一个指针,有了这个对象,我们就可以对表格进行各种操作了。

2、获取Excel工作表中的sheet

获取打开的工作表格中的sheet表有3种方法:

2.1、xls.sheets()[索引]:索引从 0 开始,对应sheet1、sheet2、sheet3...

2.2、xls.sheet_by_index(索引):索引从 0 开始,对应sheet1、sheet2、sheet3...

2.3、xls.sheet_by_name(sheet名称):此前提是知道表格中的sheet名称

以上返回的也是一个对象,即指向所获取的sheet表格的指针,有了这个对象,就可以对sheet里的内容进行操作了,如获取行数、列数、单元格内容等,另外,可以用xls.sheet_names()获取工作表格中的所有sheet名称,如:

# 获取工作表格的3种方法
sheet1 = xls.sheets()[0]
print(sheet1)
sheet2 = xls.sheet_by_index(0)
print(sheet2)
sheet3 = xls.sheet_by_name("2019年")
print(sheet3)
# 获取工作表格的所有sheet名称
sheet_name = xls.sheet_names()
print(sheet_name)

执行结果:

3、nrows与ncols

我们都知道row和col是行和列,那么nrows和ncols就是行数和列数了,即我们用sheet.nrows和sheet.ncols就可以获取我们所打开的工作表的函数和列数,其操作如下:

sheet_names = xls.sheet_names()   # 获取所有 sheet 表格的名称
for i in range(3):
    sheet = xls.sheets()[i]  # 获取表格 sheetx 对象
    rows = sheet.nrows       # 获取工作表格的行数
    cols = sheet.ncols       # 获取工作表格的列数
    print('表格 "{}" 总共有 {} 行,{} 列'.format(sheet_names[i],rows,cols)) # 打印输出

执行结果:

4、获取行数据的函数

对行进行数据获取有以下函数:

4.1、sheet.row(n):获取第 n 行的数据,其中 n 为行数,从 0 开始,返回该行所有单元格数据组成的列表。

4.2、sheet.row_slice(n):获取第 n 行的数据,其中 n 为行数,从 0 开始,返回该行所有单元格数据组成的列表。

4.3、sheet.row_types(rowx = n, start_colx = x, end_colx = y):获取第 n 行的数据类型,其中 start_colx 和 end_colx(若为None则获取到结束) 为列的范围,即指定行数 n,然后指定列的范围 x 和 y,可以简写为:sheet.row_types(n,x,y),返回获取的数据类型组成的列表。

注:总共有 5 种类型:0 empty,1 string,2 number,3 date,4 boolean,5 error

4.4、sheet.row_values(rowx = n, start_colx = x, end_colx = y):获取第 n 行的数据,其中 start_colx 和 end_colx(若为None则获取到结束) 为列的范围,即指定行数 n,然后指定列的范围 x 和 y,可以简写为:sheet.row_values(n,x,y)返回获取的数据组成的列表。

4.5、sheet.row_len(n):获取第 n 行的有效长度。注:列没有此函数。

data = sheet1.row(0) # 获取第 1 行的数据
print(data)
data = sheet1.row_slice(1) # 获取第 2 行的数据
print(data)
data = sheet.row_types(rowx = 0,start_colx = 0,end_colx = 5) # 获取第 1 行,第 1-5 列的数据
print(data)
data = sheet.row_values(1,0,3) # 获取第 2 行,第 1-3 列的数据
print(data)
num = sheet.row_len(0)# 获取第 1 行的有效长度
print(num)

执行结果:

5、获取行数据的函数

对列进行数据获取有以下函数:

5.1、sheet.cols(n):获取第 n 列的数据,其中 n 为列数,从 0 开始,返回该列所有单元格数据组成的列表。

5.2、sheet.col_slice(n):获取第 n 列的数据,其中 n 为列数,从 0 开始,返回该列所有单元格数据组成的列表。

5.3、sheet.col_types(colx = n, start_rowx = x, end_rowx = y):获取第 n 列的数据类型,其中 start_rowx 和 end_rowx(若为None则获取到结束) 为行的范围,即指定列数 n,然后指定行的范围 x 和 y,可以简写为:sheet.col_types(n,x,y),返回获取的数据类型组成的列表。

注:总共有 5 种类型:0 empty,1 string,2 number,3 date,4 boolean,5 error

5.4、sheet.col_values(rowx = n, start_rowx = x, end_rowx = y):获取第 n 列的数据,其中 start_rowx 和 end_rowx(若为None则获取到结束) 为行的范围,即指定列数 n,然后指定行的范围 x 和 y,可以简写为:sheet.col_values(n,x,y)返回获取的数据组成的列表。

data = sheet1.col(0) # 获取第 1 行的数据
print("第一列的数据为:",data)
data = sheet1.col_slice(1) # 获取第 2 行的数据
print("第二列的数据为:",data)
data = sheet.col_types(colx = 0,start_rowx = 0,end_rowx = 5) # 获取第 1 行,第 1-5 列的数据
print("第一列,第1-5行的数据为:",data)
data = sheet.col_values(1,0,3) # 获取第 2 行,第 1-3 列的数据
print("第二列,第1-3行的数据为:",data)

执行结果:

6、获取单元格数据的函数

对单元格进行数据获取有以下函数:

6.1、sheet.cell(rowx = n, colx = m):获取第 n 行,第 m 列对应的单元格数据(返回的是单元格类型数据,要想获取数据本身,可以使用sheet.cell(n, m).value)。

6.2、sheet.cell_type(rowx = n, colx = m):获取第 n 行,第 m 列对应的单元格数据类型。

6.3、sheet.cell_value(rowx = n, colx = m):获取第 n 行,第 m 列对应的单元格数据。

data = sheet.cell(rowx = 2, colx = 3)  # 获取第 3 行,第 4 列对应的单元格数据
print("第 3 行,第 4 列对应的单元格数据为:",data)
print("第 3 行,第 4 列对应的单元格数据为:",data.value)
data = sheet.cell_type(2,3)  # 获取第 3 行,第 4 列对应的单元格数据类型
print("第 3 行,第 4 列对应的单元格数据类型为:",data)
data = sheet.cell_value(2,1)  # 获取第 3 行,第 2 列对应的单元格数据
print("第 3 行,第 2 列对应的单元格数据为:",data)

执行结果:

7、整体操作

下面的例子为获取工作表格“编程语言排名.xls”所有数据:

import xlrd # 导入模块

table = xlrd.open_workbook("file/编程语言排名.xls") # 打开本地Excel表格:编程语言排名.xls
sheet_names = table.sheet_names() # 获取工作簿的所有表格名称
for i in range(len(sheet_names)): # 依次获取表格数据
    sheet = table.sheets()[i]
    rows = sheet.nrows
    for j in range(rows): # 循环打印表格数据
        data = sheet.row_values(j,0,None)
        print("表格 {} 第 {} 行的数据为:{}".format(sheet_names[i],j+1,data))
    print("-"*100)

执行结果:

以上为Python操作Excel表格的模块xlrd的简单介绍,这个比较简单,当然还有其他的操作模块,如pandas,后续会介绍。

相关推荐

路由器账号和密码忘了怎么办

你好,如果你忘记了路由器的用户名和密码,你可以尝试重置一下路由器,大多数路由器都配备了一个复位按键。在重置路由器之后,用户名和密码将被还原为默认值,你可以在路由器的用户手册或厂家网站上找到默认的用户名...

win10永久禁止自动更新(win10禁止自动更新彻底)

阻止Windows10自动更新的方法如下:使用“本地组策略编辑器”:按下“Win+R”键,输入“gpedit.msc”打开本地组策略编辑器,找到“计算机配置”>“管理模板”>“W...

联想笔记本怎么看配置和型号

联想笔记本看配置的方法如下1、打开电脑,点击桌面的计算机,右键菜单里选择【属性】;打开后,即可看到电脑系统的大概信息;2、如果要看比较详细的设备相关信息,点击桌面的计算机,点击右键,在菜单里选择【系统...

怎样把打印机连接到电脑上(怎么把打印机连接电脑上)
  • 怎样把打印机连接到电脑上(怎么把打印机连接电脑上)
  • 怎样把打印机连接到电脑上(怎么把打印机连接电脑上)
  • 怎样把打印机连接到电脑上(怎么把打印机连接电脑上)
  • 怎样把打印机连接到电脑上(怎么把打印机连接电脑上)
photoshop6序列号(photoshop8.01序列号)
  • photoshop6序列号(photoshop8.01序列号)
  • photoshop6序列号(photoshop8.01序列号)
  • photoshop6序列号(photoshop8.01序列号)
  • photoshop6序列号(photoshop8.01序列号)
win10下载应用商店(win10应用商店打不开)

1、点击Win10系统的开始菜单,然后在点击应用商店;2、打开Win10应用商店后,在搜索框里输入想要搜索的应用软件,然后点击检索;3、点击搜索到的应用,点击安装;4、点击安装后,系统会提示要切换到这...

dell电脑重装系统win10(dell 重装win10系统)

戴尔笔记本重装系统win10的步骤如下:制作好wepe启动盘之后,将win10系统iso镜像直接复制到U盘。在需要重装系统的戴尔电脑上插入pe启动盘,重启后不停按F12启动快捷键,调出启动菜单对话框,...

android升级包下载安装(android 升级包)

打开手机系统更新升级,前提是官方有新系统推送才能更新  哪个大不一定,但一般规律如下:  1、小版本的更新,通常越更新越大。比如3.1更新到3.2,通常是修复bug,代码量通常会增大,体积就会增大。 ...

hdd硬盘和ssd(ssd硬盘和hdd硬盘是什么意思)

HDD硬盘和SSD硬盘是两种不同类型的电脑存储设备,它们有着以下区别:1.工作原理:HDD硬盘使用机械旋转的磁盘和读写磁头来存储和读取数据,而SSD硬盘则使用闪存存储数据,类似于USB闪存盘。2....

电脑免费软件下载大全(电脑上免费的下载软件)

正常情况下,如果我们想要在自己的电脑上面下载一个不要钱的单机游戏,那么我们是可以直接在我们的软件管理中心进行一个下载的,这个时候我们只需要通过一个权限就能够正常的下载,当然我们也是可以在一些小游戏的软...

mpp文件转换excel(mpp转换成pdf)

要将Excel表格转换为MPP格式,您可以按照以下步骤操作:1.打开Excel表格并确保数据按照项目的不同阶段或任务进行组织。2.将Excel表格中的数据复制到一个新的MicrosoftProj...

win7旗舰版开机密码忘记按f2

方法如下:开始-控制面板-用户帐户;在打开的更改用户帐户界面点击要更改的帐户;然后点击帐户左面的更改密码按钮;在打开的页面上,输入一次当前使用的密码,输入2次要更改的新密码然后保存退出就可以了...

笔记本无音频输出设备(笔记本无音频输出设备)

1、没有声卡驱动,解决方法就是找到笔记本的官网,下载电脑声卡的驱动安装即可。2、没有外界的音频播放设备,解决方法就是买一个外界的音频播放设备插到电脑主机的音频接口上即可。笔记本电脑显示未安装任何音频输...

iso文件能用手机打开吗(iso文件能用手机打开吗安全吗)

一般的压缩软件就可以打开的,比如,好压软件,这个打开只是解压形式的,如果你说的是运行iso文件,这个没有,况且安卓系统也不支持iso运行ISO文件一般用于光盘镜像文件的存储,如果想要在手机上运行ISO...

win7系统卡顿怎么优化(win7很慢很卡怎么优化)

1、首先打开安全卫士,进入安全卫士首页,单击软件窗口右下角的“更多”图标,打开扩展应用程序。2、单击选择“我的工具”。3、在我的工具菜单里面找到“人工服务”单击打开人工服务。4、在人工服务对话框有很多...

取消回复欢迎 发表评论: