(参考文章地址:https://www.cnblogs.com/insane-Mr-Li/p/9092619.html)
前言:
- 什么是 xlrd 和 xlwt 模块?
- 为什么使用这两个模块?(在UI自动化或者接口自动化中数据维护是一个核心,所以此模块非常实用。)
- 怎么使用这两个模块?
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()函数报错
- 使用open()函数、xlrd.open_workbook()函数打开文件,文件名包含中文,会报错找不到这个文件或目录。
- 获取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. 表格
2. 读取 Excel 代码:
(待整理……)