xlrd 模块 - 读取 execl 类的文件

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