简介:
在Python中xlrd和xlwt是两个很重要的模块,主要解决Python读写excel数据的接口问题。
一. xlrd模块使用
1.1 xlrd所读取的excel数据可能的格式有七种:
- empty(空的)
- text(string)
- number,
- date,
- boolean,
- error,
- blank(空白表格)
1.2 重要函数:
A. 获取Book工作簿(即excel工作簿,包含所有工作表)
1 data = xlrd.open_workbook(filename) # 读取名为filename的工作簿;
# 若所读取的excel文件与Python程序在同一个路径下,则filename为文件名字符串;
# 若所读取的excel文件与Python程序不在同一个路径下,则filename为文件所在路径及名称,此时路径为加一个r原生字符。 # 返回值data类型xlrd.book.Book,其包含所读取的excel工作簿的所有表格。 更多方法: names = data.sheet_names() # 返回book中所有工作表的名字 data.sheet_loaded(sheet_name or indx) # 检查某个sheet是否导入完毕
B. 获取Sheet工作表(即Book中的一个表)
table = data.sheets()[0] # 通过索引顺序获取 table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取 table = data.sheet_by_name(sheet_name) # 通过名称获取 # 三种方法返回值均为xlrd.sheet.Sheet()对象
C. 操作sheet工作表行(对象为sheet表)
1 nrows = table.nrows 2 # 获取该sheet中的行数,注,这里table.nrows后面不带(). 3 4 table.row(rowx) 5 # 返回由该行中所有的单元格对象组成的列表,这与tabel.raw()方法并没有区别。 6 7 table.row_slice(rowx) 8 # 返回由该列中所有的单元格对象组成的列表 9 10 table.row_types(rowx, start_colx=0, end_colx=None) 11 # 返回由该行中所有单元格的数据类型组成的列表;
# 返回值为逻辑值列表,若类型为empy则为0,否则为1 12 13 table.row_values(rowx, start_colx=0, end_colx=None) 14 # 返回由该行中所有单元格的数据组成的列表 15 16 table.row_len(rowx) 17 # 返回该列的有效单元格长度,即这一行有多少个数据
D. 操作sheet工作表列(对象为sheet表)
1 ncols = table.ncols 2 # 获取列表的有效列数 3 4 table.col(colx, start_rowx=0, end_rowx=None) 5 # 返回由该列中所有的单元格对象组成的列表 6 7 table.col_slice(colx, start_rowx=0, end_rowx=None) 8 # 返回由该列中所有的单元格对象组成的列表 9 10 table.col_types(colx, start_rowx=0, end_rowx=None) 11 # 返回由该列中所有单元格的数据类型组成的列表 12 13 table.col_values(colx, start_rowx=0, end_rowx=None) 14 # 返回由该列中所有单元格的数据组成的列表
E. 单元格操作(对象为sheet表)
1 table.cell(rowx,colx) 2 # 返回单元格对象 3 4 table.cell_type(rowx,colx) 5 # 返回对应位置单元格中的数据类型 6 7 table.cell_value(rowx,colx) 8 # 返回对应位置单元格中的数据 9
二. xlwt模块使用