python——使用xlrd库读取excel表格数据
原创
©著作权归作者所有:来自51CTO博客作者IrvingGao的原创作品,请联系作者获取转载授权,否则将追究法律责任
环境准备
需要下载xlrd==1.2.0
版本,因为目前xlrd更新到了2.0.1版本,只支持.xls
文件。
所以如果需要读取.xlsx
文件,需要安装旧版本。
#如果之前安装过,需要卸载原先版本
pip uninstall xlrd
#下载1.2.0版本
pip install xlrd==1.2.0
读取excel
import xlrd
# 打开文件
data = xlrd.open_workbook('./36.xlsx')
查看工作表
-
data.sheet_names()
返回值为列表形式
data.sheet_names()
print(type(data.sheet_names()))
print("sheets:" + str(data.sheet_names()))
获取行数和列数
- 行数:
table.nrows
- 列数:
table.ncols
print("总行数:" + str(table.nrows))
print("总列数:" + str(table.ncols))
获取整行的值和整列的值
- 整行值:
table.row_values(start,end)
- 整列值:
table.col_values(start,end)
- 参数
start
为从第几个开始打印,为数字 - 参数
end
为打印到那个位置结束,默认为none
- 返回的结果为列表形式
# 参数 start 为从第几个开始打印,
# end为打印到那个位置结束,默认为none
print("整行值:" + str(table.row_values(0)))
print("整列值:" + str(table.col_values(1)))
获取某个单元格的值
例如获取B3单元格值:
cel_B3 = table.cell(3,2).value
例程代码
# coding=utf-8
import xlrd
# 打开文件
data = xlrd.open_workbook('./36.xlsx')
# 查看工作表
data.sheet_names()
print(type(data.sheet_names()))
print("sheets:" + str(data.sheet_names()))
# 通过文件名获得工作表,获取工作表1
# table = data.sheet_by_name('工作表1')
# 打印data.sheet_names()可发现,返回的值为一个列表,通过对列表索引操作获得工作表1
# table = data.sheet_by_index(0)
# 获取行数和列数
# 行数:table.nrows
# 列数:table.ncols
print("总行数:" + str(table.nrows))
print("总列数:" + str(table.ncols))
# 获取整行的值 和整列的值,返回的结果为数组
# 整行值:table.row_values(start,end)
# 整列值:table.col_values(start,end)
# 参数 start 为从第几个开始打印,
# end为打印到那个位置结束,默认为none
print("整行值:" + str(table.row_values(0)))
print("整列值:" + str(table.col_values(1)))
# 获取某个单元格的值,例如获取B3单元格值
cel_B3 = table.cell(3,2).value
print("第三行第二列的值:" + cel_B3)
参考文章:
- python对Excel的读取
- pandas无法打开.xlsx文件