Monkey 发表于 2025-6-6 20:09

超继承&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]
查看完整版本: 超继承&Excel的操作