python中xlrd模块

转载:https://www.jb51.net/article/205141.htm

一、xlrd的安装

打开cmd输入pip install xlrd安装完成即可

在这里插入图片描述

二、xlrd模块的使用

下面以这个工作簿为例

在这里插入图片描述

1、导入模块

1
import xlrd

2、打开工作薄

1
2
# filename是文件的路径名称
workbook = xlrd.open_workbook(filename = r 'C:\Users\Windows10\Desktop\xlsx文件.xlsx' )

3、获取需要操作的sheet表格(有三种方法)

①通过索引获取

1
2
# 获取第一个sheet表格
table = workbook.sheets()[ 0 ]

②通过索引顺序获取

1
2
# 通过索引顺序获取
table = workbook.sheet_by_index( 0 )

③通过sheet名称获取

1
2
# 通过sheet名称获取
table = workbook.sheet_by_name(sheet_name = 'Sheet1' )

补充:获取工作薄中所有sheet名称

1
2
3
4
5
# 获取工作薄中所有的sheet名称
names = workbook.sheet_names()
 
打印结果
[ 'Sheet1' , 'Sheet2' , 'Sheet3' ]

三、行和列的操作

常用1:获取sheet中有多少行和多少列

1
2
3
4
# 获取sheet中有效行数
row = table.nrows
print (row)
打印结果 6
1
2
3
4
5
6
# 获取sheet中有效列数
col = table.ncols
print (col)
 
打印结果
4

常用2:获取一行中有多少列数据

1
2
3
4
5
6
# 返回该行的有效单元格长度
num = table.row_len( 0 )
print (num)
 
打印结果
4

常用3:获取指定行或者列中所有的数据

1
2
3
4
5
6
7
8
9
# rowx表示是获取第几行的数据
# start_col表示从索引为多少开始,end_colx表示从索引为多少结束,
# end_colx为None表示结束没有限制
# 获取指定行中的数据并以列表的形式返回
table_list = table.row_values(rowx = 0 , start_colx = 0 , end_colx = None )
print (table_list)
 
打印结果
1
2
3
4
5
6
7
8
9
# colx表示是获取第几列的数据
# start_rowx表示从索引为多少开始,end_rowx表示从索引为多少结束,
# end_rowx为None表示结束没有限制
# 获取指定列中的数据并以列表的形式返回
table_list = table.col_values(colx = 0 , start_rowx = 0 , end_rowx = None )
print (table_list)
 
打印结果

补充:了解即可

1
2
3
4
5
6
7
8
9
10
11
#返回由该列中所有的单元格对象组成的列表
print (table.row( 0 ))
#返回由该行中所有的单元格对象组成的列表
print (table.row_slice( 0 ))
#返回由该行中所有单元格的数据类型组成的列表
print (table.row_types( 0 , start_colx = 0 , end_colx = None ))
 
打印结果
]
array( 'B' , [ 1 , 1 , 1 , 1 ])
1
2
3
4
5
6
7
8
9
10
11
#返回由该列中所有的单元格对象组成的列表
print (table.col( 0 , start_rowx = 0 , end_rowx = None ))
#返回由该列中所有的单元格对象组成的列表
print (table.col_slice( 0 , start_rowx = 0 , end_rowx = None ))
#返回由该列中所有单元格的数据类型组成的列表
print (table.col_types( 0 , start_rowx = 0 , end_rowx = None ))
 
打印结果
[ 1 , 1 , 1 , 1 , 1 , 1 ]

四、单元格的操作

1、获取单元中的值

1
2
3
4
5
6
# 获取指定单元格内的值
value = table.cell_value(rowx = 0 , colx = 1 )
print (value)
 

2、获取单元格内的组成对象和数据

1
2
3
4
5
value = table.cell(rowx = 0 , colx = 1 )
print (value)
 

3、获取单元格的数据类型

python读取excel中单元格的内容返回的有5种类型。ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error。即date的ctype=3,这时需要使用xlrd的xldate_as_tuple来处理为date格式,先判断表格的ctype=3时xldate才能开始操作。

1
2
value = table.cell_type(rowx = 0 , colx = 1 )
print (value)

五、案例

需求:获取上面表格中的数据并依次打印出来

import xlrd
 
# 打开工作薄
workbook = xlrd.open_workbook(r 'C:\Users\Windows10\Desktop\xlsx文件.xlsx' )
# 获取第一个sheet表格
table = workbook.sheets()[ 0 ]
# 获取行数
rows = table.nrows
# 获取列数
cols = table.ncols
# 循环获取每行的数据
for row in range (rows):
  for col in range (cols):
   value = table.cell_value(row, col)
   print ( '第{}行{}列的数据为:{}' . format (row, col, value))
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值