1. 代码
#!/usr/bin/env python3
import xlrd
name = r"E:\yong.xls"
# 1. 打开文件
data = xlrd.open_workbook(name)
# 2. 打开工作表
# 2.1. 打印 文件对象的工作表明, 列表格式
# all_table_name = data.sheet_names()
# print(all_table_name)
# 2.2. 打开所有的工作表的列表
# table = data.sheets() # 格式为 list 获取多个, 遍历即可
# 2.3. 通过索引选取工作表, 如果索引没有工作表就会报错
# table = data.sheet_by_index(0)
# 2.4. 打开指定工作表
table = data.sheet_by_name(u'Sheet1')
# 3. 获取行, 列
# 3.1. 获取行数
nrows = table.nrows
print(nrows)
# 3.2. 获取 列数
ncols = table.ncols
print(nrows)
# 4. 获取所有行
list_data = []
# 4.1. 循环 nrows打印的行数
for i in range(nrows):
# 1). 使用 row.values 方法, 获取 文件的第 i 行数据, 格式为 list
line_data = table.row_values(i)
# print('line_data: ', line_data, type(line_data))
# 2). 获取 一列
myColValues = table.col_values(i) # i是列数,从0开始计数,返回list对象。
# 3). 将 列表添加进总列表中
list_data.append(line_data)
# 4.2. 打印总数据列表
print(list_data)
2. 模块的方法
1). 打开文件函数, 返回一个可操作的对象
data = xlrd.open_workbook("文件路径")
2). 获取行, 列数
(1): 获取行数
nrows = table.nrows
print(nrows)
(2): 获取列数
ncols = table.ncols
print(nrows)
3). 根据对象工作表
(1): 打印 文件对象的工作表明, 列表格式
all_table_name = data.sheet_names()
print(all_table_name)
(2): 打开所有的工作表的列表, 格式为 list 获取多个, 遍历即可
table = data.sheets()
(3): 通过索引选取工作表, 如果索引没有工作表就会报错
table = data.sheet_by_index(0)
(4): 打开指定工作表
table = data.sheet_by_name(u'Sheet1') # 必须是 unicode 格式
4). 获取行内容
(1): 获取行内容
table.row_values(i) # i 是想要去的行数, 从 0 开始 所以一般选择 1.1 中的遍历取值
(2). 获取列内容
myColValues = table.col_values(i) # i是列数,从0开始计数,返回 list 对象。
5). 获取单元格内容
cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(2,3).value
6). 使用行列索引
cell_A1 = table.row(0)[0].value
cell_A2 = table.col(1)[0].value
7). 使用行列索引
cell_A1 = table.row(0)[0].value
cell_A2 = table.col(1)[0].value