超继承&Excel的操作
超继承的关键字:super超继承语法:def 需要重写父类方法的方法名(参数):
super(子类的类名,self).需要重写父类方法的方法名(父类方法名的参数)
super是超继承的关键字,super(Test_Add,self)会自动找到Test_Add这个类的父类(unittest.TestCase)并调用父类中的__init__函数。
简单理解:临时修改了父类(unittest.TestCase)的__init__函数,在父类(unittest.TestCase)__init__这个初始化函数中新增了几个参数(修改仅当前类有效)
超继承的应用场景:既需要使用父类的方法,也需要使用子类的同名方法(如果子类直接写个父类的同名方法叫重写,但重写后代码执行时就不会调用父类的这个方法了,只会调用子类重写后的同名方法)
如何操作Excel
我们使用openpyx这个第三方库l来操作Excel(支持对Excel的读和写)
既然是第三方库,我们就需要安装
在cmd命令行输入“pip install openpyxl”来进行安装
openpyxl仅支持.xlsx结尾的Excel文件,其他格式概不支持
新建Excel文件的方式:
方式一:
(1)将鼠标放在桌面/文件夹的空白位置
(2)单击鼠标右键,依次选择新建--->MMicrosoft Excel工作表
方式二:
通过代码新建
from openpyxl import load_workbook ---加载Excel读取/写入数据
from openpyxl import Workbook ---新建Excel
excel_file = Workbook() (创建Excel)
excel_file.save('TestExcel.xlsx') ---save是保存函数(必须要保存,否则不能创建成功)
打开Excel的方式:
excel_file = load_workbook('TestExcel.xlsx')--将打开的Excel文件存到excel_file这个变量里
定位Excel表单的方式:
方式一:
sheet = excel_file.get_sheet_by_name('表单名') ---已过时
方式二:
sheet = excel_file['表单名' ---推荐使用
定位Excel单元格取值(读取)的方式:
sheet.cell(row= x ,column = y).value ---“x”为行值,“y”为列值
定位Excel单元格写值(写入)的方式:
方式一:
sheet.cell(row = x,column = y,value = z) ---“x”为行值,“y”为列值,“z”为要写入的值
方式二:
sheet.cell(row = x,column = y).value = z ---“x”为行值,“y”为列值,“z”为要写入的值
excel_file.save('TestExcel.xlsx') ---save是保存函数(写入/修改值后必须要保存,否则写入的数据无效)
注意:保存之前一定要先关闭Excel文件,否则会报PermissionError: [Errno 13 Permission denied: 'TestExcel.xlsx'这个错误!!!
Excel中的数据类型
Excel中只有字符串(str)、整数(int)、浮点数(float)类型,Python中的元祖、列表、字典等数据类型在Excel中都统一定义为了字符串(str)类型
若想将Excel中不支持的元祖、列表、字典等数据类型正常识别到,可使用eval函数进行转换。
获取Excel中存在数据的最大行数和存在数据的最大列数
可使用“sheet.max_row”获取Excel存在数据的最大行
可使用“sheet.max_column”获取Excel存在数据的最大列
注意:Excel单元格中存在纯空格也是算存在数据的
页:
[1]