Python_xlrd和xlwt模块介绍

简介:

在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模块使用

 

上一篇:如何将Excel工作表复制到Python中的另一个工作簿


下一篇:Python-Excel-Xlwt:每隔两行着色