环境准备

需要下载​​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()))

python——使用xlrd库读取excel表格数据_打开文件

获取行数和列数

  • 行数:​table.nrows​
  • 列数:​table.ncols​
print("总行数:" + str(table.nrows))
print("总列数:" + str(table.ncols))

python——使用xlrd库读取excel表格数据_python_02

获取整行的值和整列的值

  • 整行值:​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)))

python——使用xlrd库读取excel表格数据_excel_03

获取某个单元格的值

例如获取B3单元格值:

cel_B3 = table.cell(3,2).value

python——使用xlrd库读取excel表格数据_python_04

例程代码

# 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文件​​