python 之 xlrd 和 xlwt 模块详解

(参考文章地址:https://www.cnblogs.com/insane-Mr-Li/p/9092619.html)

前言:

  1. 什么是 xlrd 和 xlwt 模块?
  2. 为什么使用这两个模块?(在UI自动化或者接口自动化中数据维护是一个核心,所以此模块非常实用。)
  3. 怎么使用这两个模块?

xlrd模块:

python操作 Excel 主要用到 xlrd 和 xlwt 这两个库,其中 xlrd 是读Excel,xlwt 是写excel 的库。

常用单元格的数据类型:

1. empty(空)
2. string
3. number
4. date
5. error
6. boolean
7. blank(空白表格)

打开 Excel :

data = xlrd.open_workbook(filename)   #文件名以及路径,如果路径或者文件名有中文,给前面加个r表示原生字符。

常用函数:

excel 中最常用的方法是book和sheet的操作

获取book中的一个工作表

table = data.sheets()[0]   #通过索引顺序获取
table = data.sheet_by_index(sheet_index)   #通过索引顺序获取
table = data.sheet_by_name(sheet_name)   #通过名称获取
以上三个函数都会返回一个 xlrd.sheet.Sheet() 对象
names = data.sheet_names()   #返回book中所有工作表的名字
data.sheet.loaded(sheet_name or index)   #检查某个sheet是否导入完毕

行操作:

nrows = table.nrows   #获取该sheet中的有效行数
table.row(rowx)   #返回由该行中所有的单元格对象组成的列表
table.row_slice(rowx)   #返回由该列中左右的单元格对象组成的列表
table.row_types(rowx,start_colx=0,end_colx=None)   #返回由该行中所有单元格的数据类型组成的列表
table.row_values(rowx,start_colx=0,end_colx=None)    #返回由该行中所有单元格的数据组成的列表
table.row_len(rowx)    #返回该列的有效单元格长度

列操作:

ncols = table.ncols    #获取列表的有效列数
table.col(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表
table.col_slice(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表
table.col_types(colx, start_rowx=0, end_rowx=None)    #返回由该列中所有单元格的数据类型组成的列表
table.col_values(colx, start_rowx=0, end_rowx=None)   #返回由该列中所有单元格的数据组成的列表    

单元格操作:

table.cell(rowx,colx)   #返回单元格对象
table.cell_type(rowx,colx)    #返回单元格中的数据类型
table.cell_value(rowx,colx)   #返回单元格中的数据
table.cell_xf_index(rowx, colx)   # 

python 使用open(),xlrd.open_workbook()函数报错

  1. 使用open()函数、xlrd.open_workbook()函数打开文件,文件名包含中文,会报错找不到这个文件或目录。
  2. 获取sheet时若包含中文,也会报错。
#打开文件
file = open(filename,'rb')

#打开excel文件
workbook = xlrd.open_workbook(filename)

#获取sheet
sheet = workbook.sheet_by_name(sheetname)

解决方法:

1. 对参数进行转码:
filename = filename.decode('utf-8')
2.filename = unicode(filename,'utf-8')

模块的使用:

1. 表格

python 之 xlrd 和 xlwt 模块详解_第1张图片

2. 读取 Excel 代码:

(待整理……)

 

 

 

 

 

 

 

你可能感兴趣的:(Python3)