2.4 读取Excel 工作簿、工作表信息
要使用xlrd 库处理Excel 文件,必须先学会读取工作簿,以及读取工作簿下的工作表。完成这些操作,才能继续后面的工作。
2.4.1 读取Excel 工作簿
可以使用open_workbook 函数读取指定的工作簿并赋值给变量,在指定工作簿名称时,可以使用相对路径,也可以使用绝对路径。读取Excel 工作簿的代码如下,代码在 “Chapter-2-2.py” 文件中。
2.4.2 读取Excel 工作表
读取工作簿后,可能还需要读取工作簿中的工作表,如图2-4 所示。
图2-4 读取的工作表
读取Excel 工作表的代码如下,代码在 “Chapter-2-3.py” 文件中。
第3 行代码all_ws1=wb.sheets(),表示读取工作簿中的所有工作表并赋值给all_ws1 变量。工作表是存储在列表中的。all_ws1 变量中有3 个工作表对象,即[<xlrd.sheet.Sheet object at 0x000002C746400948>, <xlrd.sheet.Sheet object at 0x000002C746300288>, <xlrd.sheet.Sheet object at 0x000002C746406B08>]。
第4 行代码all_ws2=wb.sheet_names(),表示读取工作簿中的所有工作表名称并赋值给all_ws2 变量。注意这里读取的是工作表名称,不是工作表对象。这些工作表名称也是用列表来存储的。all_ws2 变量中的值为 ['飞龙队', '猛虎队', '雪豹队']。
第5 行代码ws1=wb.sheet_by_index(0),表示读取工作簿中第0 个工作表并赋值给ws1 变量。注意,索引值是从0 开始的,此时读取的是 “飞龙队” 工作表。
第6 行代码ws2=wb.sheets()[1],表示读取工作簿中的第1 个工作表并赋值给变量ws2,此种读取方式变量没有成员提示。注意,索引值是从0 开始的,此时读取的是“猛虎队” 工作表。
第7 行代码ws3=wb.sheet_by_name('雪豹队'),表示读取工作簿中名称为“雪豹队” 的工作表并赋值给ws3 变量。
第8 行代码ws4=xlrd.open_workbook(r'Chapter-2-3-1.xlsx').sheet_by_name('飞龙队'),表示直接通过工作簿来读取名称为 “飞龙队” 的工作表并赋值给ws4 变量。