day19 继承和csv文件操作
day19 继承和csv文件操作
一、继承
1、继承就是让子类直接拥有父类属性和方法
父类:被继承者(又叫超类)
子类:继承者
2、继承的语法
class 类名(父类1,父类2,父类3…):
类的说明文档
类的内容
注意:如果定义类的时候没有写继承,那么这类用继承python的基类:object
Class 类名 == class 类名(object):
3、在子类中添加内容
1)添加类属性和方法
直接在子类中定义新的类属性和新的方法
2)添加对象属性
添加对象属性的时候如果还想要继承父类的对象属性,必须在子类的—init—方法
中通过super()去调用父类的—init—方法
二、csv文件读操作
1、csv文件操作必须以行为单位
1、以列表为单位获取每一行内容
-
创建列表对应的reader,获取文件内容,返回一个迭代器,迭代器中的元素就是每一行内容打印的列表 csv.reader(文件对象) import csv f = open(电影.csv,encoding=utf-8,newline=) reader = csv.reader(f) print(reader) print(next(reader)) #获取第一行内容 print(list(reader)) f.close()
2、以字典为单位获取每一行内容
import csv with open(电影.csv,encoding=utf-8,newline=) as f: #直接将第一行内容的数据作为键 reader = csv.DictReader(f) print(next(reader))
三、csv文件写操作
1、以列表为单位写入一行内容
-
创建write对象 writer = csv.writer(文件对象) 将数据写入文件中 一次写一行/一次写多行 with open(files/data.csv,w,encoding=utf-8,newline=) as f : writer = csv.writer(f) writer.writerow([姓名,数学,语文,英语]) writer.writerow([小明,90,23,87]) writer.writerows([ [小花,79,90,94], [小虎,94,23,87], [小六,88,67,78] ])
2、以字典为单位写入一行内容
-
创建writer对象 csv.Dictwriter(文件对象,键列表) 将数据写入文件中 一次写一行/一次写多行 with open(files/学生信息.csv,w,encoding=utf-8,newline=)as f: writer = csv.DictWriter(f,[name,age,tel,gender]) #将字典的键作为第一行内容写入文件 writer.writeheader() #一次写一行 writer.writerow({ name:小明,age:16,tel:110,gender:女}) writer.writerows([ { name:小宏,age:18,tel:120,gender:男}, { name:小文,age:15,tel:160,gender:女} ])
四、虚拟环境
1、系统环境
为了让计算机能够运行python程序,就必须在计算机中安排python环境,通过软件安装的这个环境就是系统环境
环境中主要包含解释器和已经安装的所有的地方库
2、虚拟环境
在计算机已经安装了python环境的前提下,我们可以通过指令或者相关软件创建的python环境(这个就是虚拟环境)
3、创建虚拟环境的建议
工作的时候:必须是一个项目一个虚拟环境,并且必须将虚拟环境放在工程目录中
五、excel文件读操作
1、打开ecxel创建工作簿
-
Openpyxl.open(文件路径) Openpyxl.load_workbook(文件路径)
2、获取工作表
-
获取所有的工作表的表名:工作簿对象.sheetnames 获取工作表对象 获取活跃表:工作簿对象.active 获取指定表:工作簿对象[表名]
3、获取工作表内容
-
获取最大行数和最大列数 工作表.max_row 工作表.max_column 获取单元格:工作表.cell(行号,列号) - 用数字表示 行号和列号都是从1开始的数据 获取单元格内容:单元格对象.value
import openpyxl workbook = openpyxl.open(files/2020年销售数据.xlsx) names = workbook.sheetnames print(names) sheet1 = workbook.active print(sheet1) t_task = workbook[task] print(t_task) t_data = workbook[data] print(t_data) print(t_data.max_row,t_data.max_column) cell1=t_data.cell(7,5) print(cell1) print(cell1.value) for x in range(1,t_data.max_column+1): print(t_data.cell(2,x).value) for x in range(2,t_data.max_row +1): print(t_data.cell(x,3).value) for row in range(1,t_data.max_row + 1): for col in range(1,t_data.max_column +1): print(t_data.cell(row,col).value,end=,) print()