043 从库名导入类、函数、方法
包含在主题中
#效率办公#Python基础知识
导入库有两种方法。
方法一:导入库名
方法2:从库名称导入类、函数和方法
【方法一:导入库名】
导入库名称
对象=库名.类名()
对象=库名称.function()
对象.方法
【方法二:从库名导入类、函数、方法】
从库名称导入类、函数和方法
对象=类名()
对象=函数()
对象.方法
使用from 库名称导入类、函数和方法的优点是在编写代码时可以省略库名称。
【友情提示】
以上所有方法都是工作簿对象方法,而不是类方法。
1.导入库名称[任务]
1. 在当前文件夹下创建一个新的[Roster]文件夹。
2. 在Roster 文件夹中创建三个新工作簿,并将它们命名为Class 1 Roster、Class 2 Roster 和Class 3 Roster。
#导入库
进口商品
#新文件夹:[名册]
#Library.Function(路径)
os.mkdir(‘列表’)
#导入库
导入openpyxl
#创建3个新工作簿
#对象=库.类
wb1=openpyxl.Workbook()
wb2=openpyxl.Workbook()
wb3=openpyxl.Workbook()
#保存3个工作簿
#对象.方法(路径)
wb1.save(‘./roster/一年级名册.xlsx’)
wb2.save(‘./名册/二等名册.xlsx’)
wb3.save(‘./Roster/3级名册.xlsx’)
#打开3个工作簿
#object=库.函数
wb1=openpyxl.load_workbook(‘./roster/1st class roster.xlsx’)
wb2=openpyxl.load_workbook(‘./roster/二年级名册.xlsx’)
wb3=openpyxl.load_workbook(‘./Roster/3级名册.xlsx’)
运行代码后,成功创建了class 1、class 2、class 3工作簿。
2. 从库名称导入类、函数和方法[任务2]
在Roster 文件夹中创建三个新工作簿,并将它们命名为Class 4 Roster、Class 5 Roster 和Class 6 Roster。
#从openpyxl库中导入Workbook类的load_workbook函数
fromopenpyxlimportWorkbook,load_workbook
#创建三个工作簿对象
#对象=类()
wb1=工作簿()
wb2=工作簿()
wb3=工作簿()
#保存3个工作簿
#Object.Method(路径)
wb2.save(‘./roster/4级名册.xlsx’)
wb3.save(‘./roster/五年级名册.xlsx’)
wb3.save(‘./roster/六年级名册.xlsx’)
#打开3个工作簿
#对象=函数(路径)
wb1=load_workbook(‘./名册/四年级名册.xlsx’)
wb2=load_workbook(‘./名册/五年级名册.xlsx’)
wb3=load_workbook(‘./名册/六年级名册.xlsx’)
运行代码后,成功创建了4类、5类、6类工作簿。
【友情提示】
从openpyxl导入工作簿,load_workbook
不能写成这样
从openpyxl 导入工作簿,加载工作簿,保存
Workbook 是openpyxl 库中的一个类。
load_workbook 是openpyxl 库中的一个函数。
Save 是工作簿对象的方法,而不是openpyxl 库的方法。
3.进口与进口的区别
14_import 和from import 的区别4. 使用for 循环+ range 优化迭代代码:wb1=Workbook()。
保存:wb1.save(‘./roster/六年级名册.xlsx’)
打开:wb1=load_workbook(‘./roster/6班名册.xlsx’)
上面的代码执行了三次创建、保存和打开操作。
相同的代码,即重复的操作,可以使用for 循环+范围进行优化。
【任务】
在Roster 文件夹中创建三个新工作簿,并将其命名为Class 7 Roster、Class 8 Roster 和Class 9 Roster。
#从openpyxl库中导入Workbook类的load_workbook函数
fromopenpyxlimportWorkbook,load_workbook
foriinrange(7,10):
path=’./roster/{}class roster.xlsx’.format(i)
#创建三个新的工作簿对象
#对象=类()
wb=工作簿()
#保存3个工作簿
#Object.Method(路径)
wb.保存(路径)
#打开3个工作簿
#对象=函数(路径)
wb=load_workbook(路径)
当我运行代码时,工作簿已成功创建。
路径=’./roster/{}class roster.xlsx’.format(i)
您也可以将其写为
路径=’./roster/%dclass roster.xlsx’%i
#从openpyxl库中导入Workbook类的load_workbook函数
fromopenpyxlimportWorkbook,load_workbook
#使用for循环来控制循环次数
foriinrange(10,14):
#保存每次需要的文件路径
路径=’./Roster/%dClass Roster.xlsx’%i
#创建三个新的工作簿对象
#对象=类()
wb=工作簿()
#保存3个工作簿
#Object.Method(路径)
wb.保存(路径)
#打开3个工作簿
#对象=函数(路径)
wb=load_workbook(路径)
5. 使用from import 读写csv 文件[任务]
1. 在当前文件夹下新建一个Grade List 文件夹。
2. 在[Gradebook] 文件夹中创建三个新的CSV 文件,并将其命名为“X class Gradebook.csv”。
3. 将信息以字典格式写入【X班成绩表.csv】中。
4. 阅读字典格式的【X班级成绩表.csv】中的信息。
5. 将3 中“Class X Gradebook.csv”中的信息汇总到“Comforming Gradebook.csv”中。
进口商品
#新建【成绩表】文件夹
os.mkdir(‘成绩表’)
#从CSV 库导入DictWriter 和DictReader 类
fromcsvimportDictWriter、DictReader
#设置标题
head=[‘姓名’,’分数’]
#新建一个列表,保存要写入的信息
#List元素是字典
清单1=[
{‘姓名’:’张三’,’分数’:’30’},
{‘姓名’:’李四’,’成绩’:’40’},
{‘name’:’王五’,’score’:’50’},
{‘姓名’:’赵刘’,’分数’:’60’},
{‘姓名’:’孙琪’,’成绩’:’70’},
{‘名称’:’工作日’,’分数’:’80’}
]
#设置一个空列表来保存读取的内容
字典列表=[]
#for循环控制时间
foriinrange(1,4):
#字符串格式获取文件路径
路径=’./scoretable/%d类scoretable.csv’%i
#在退出写入模式w下创建一个CSV文件
withopen(路径,’w’,编码=’utf-8′,换行=”)asf1:
#CSV文件创建对象=csv_target
csv_target=DictWriter(f1,fieldnames=head)
#Object.Method() 写入标头
csv_target.writeheader()
#Object.Method() 写入字典
csv_target.writerows(列表1[2*(i-1):2*i])
#以只读模式读取CSV文件r
withopen(路径,’r’,编码=’utf-8′)asf2:
csv_target=DictReader(f2)
follow_dictincsv_target:
打印(行字典)
#加载的字典存储在列表中
dict_list.append(row_dict)
#以追加写入模式创建CSV文件。
withopen(‘./gradebook/overallgradebook.csv’,’a’,encoding=’utf-8′,newline=”)asf3:
#对象=类()
csv_target=DictWriter(f3,fieldnames=head)
#csv object.Method()写入表头
csv_target.writeheader()
#Object.Method() 写入字典
csv_target.birows(dict_list)
[终端输出]
{‘姓名’: ‘张三’,’分数’: ’30’}
{‘姓名’:’李四’,’成绩’:’40’}
{‘name’: ‘王五’, ‘score’: ’50’}
{‘姓名’:’赵刘’,’成绩’:’60’}
{‘姓名’:’孙琪’,’成绩’:’70’}
{‘名称’: ‘星期三’, ‘分数’: ’80’}
【知识回顾:列表切片索引】
#列表索引从0开始
# 前后,0为不包含,2为不包含
列表1=[1,2,3,4,5,6]
打印(列表1 [0:2])
打印(列表1 [2:4])
打印(列表1 [4:6])
[终端输出]
[1, 2]
[3, 4]
[5, 6]
上面的代码和下面的代码达到了同样的效果。
列表1=[1,2,3,4,5,6]
范围范围(1
,4):
打印(列表1 [2 *(i-1):2 * i])
[终端输出]
[1, 2]
[3, 4]
[5, 6]
[控制使用列表切片编写的字典]
描述代码: 的CSV 文件
第一次写入list[0]list[1]=list[0:2]
第二次写入list[2]list[3]=list[2:4]
第三次写入list[4]list[5]=list[4:6]
切片索引用i表示。
列表1[2*(i-1):2i]
如果i=1[2(1-1):21]=0:2
如果i=2[2(2-1):22]=2:4
如果i=3[2(3-1):2*3]=4:6
【友情提示】
切片索引由冒号而不是逗号分隔。
初学者经常会犯错误
列表[0:2]写为
列表[0,2]