python day08

python day08

办公自动化相关知识

python操作excel

python能够操作Excel的模块有很多列举以下几个
openpyxl、xlrd、xlwt、pandas

openpyxl 只能操作xlsx后缀名的excel文件
xlrd()、xlwt(),只能操作xls后缀名的Excel文件

excel 文件后缀名分别为xls、xlsx
xls:office 2003及以前
xlsx:office 2007及以后
新版office向前兼容。

xlsx 文件比xls文件体积缩小、
xlsx文件存储数据量远大于xls文件
xls文件最多存储256列、2^16(65536)行
xlsx文件最多1048576行,16834列

openpyxl模块操作xlsx文件

#一、excel写操作
from openpyxl import Workbook,load_workbook

# Workbook :当文件(工作薄)不存在谁,使用Workbook创建
# 使用Workbook创建的文件我们看不到,但系统知道其存在,想让文件出现要先保存

# load_workbook: 当文件存在时,加载
wb = Workbook()

# 创建工作表(worksheet) :create_sheet(表名,下标)
# 下标:代表新建工作表位置,不写代表在最后追加
wb.create_sheet('一年级一班')
wb.create_sheet('一年级一班',0)

# 查看已经存在的表名:sheetnames
sheetlist = wb.sheetnames
print(sheetlist)

# 修改表名


#指定工作薄中的工作表:
# active:指定关闭文件时显示在上层的工作表
# 指定打开已经存在的某张表
sheet1=wb.active
print(sheet1)

sheet2 = wb['一年级一班']
print(sheet2)

# 向指定表的单元格写入内容同时也是查看某个单元格内容
# 工作表[列号行号]  -> 列号表示大写英文字母
# 工作表.cell(行号,列号) ->列号表示从一开始递增的数字
# value 表示查看某个单元格的值
print(sheet1.cell(1, 1).value)
sheet1.cell(1, 1).value = '姓名'
print(sheet1.cell(1, 1).value)

print(sheet2['A1'].value)
sheet2['A1'].value = '姓名1'
print(sheet2['A1'].value)

# 删除已存在的工作表:remove_sheet(表对象),即要调出要删除的sheet
wb.remove_sheet(wb['Sheet'])

wb.save('学生成绩.xlsx')
from openpyxl import load_workbook
from random import randint

# 1.加载已经存在的文件
wb = load_workbook('学生成绩.xlsx')
print(wb)

#2.查看已经存在的所有工作表
sheetList=wb.sheetnames
print(sheetList)
#3.指定工作表
sheet = wb['一年级一班']
print(sheet)

#4.学生成绩表生成规则:
# 存在 姓名、语文、数学、英语 四列
# 存在100名学生,姓名列填入 python001~python100
# 语文、数学、英语三列从[0,100]随机生成
column = ['姓名','语文','数学','英语']
for i in range(len(column)):
    sheet.cell(1,i + 1).value=column[i]

for i in range (1,101):
    #写姓名
    stuName = f'python{i:0>3}'
    sheet.cell(i+1,1).value=stuName
    #写每个学生的三科成绩
    for j in range(2,5):
        sheet.cell(i+1,j).value = randint(0,100)

# 保存、关闭
wb.save('学生成绩.xlsx')
print('写入完成')

读学生成绩表

from openpyxl import load_workbook

wb = load_workbook('学生成绩.xlsx')

# 选择‘一年级一班’工作表

sheet = wb['一年级一班']

# 查看工作表的最大行列数
# max_row
# max_column
rows = sheet.max_row
cols = sheet.max_column
print(sheet.max_row,sheet.max_column)

for i in range (1,rows+1):
    for j in range (1,cols+1):
        print(f'{sheet.cell(i,j).value:^10}',end='')
    print()

简单描述调试界面几个按钮的功能

step over :进入下一步代码
step into :进入到每行代码底层,查看底层代码
step into my Code: 进入到你自己写的代码底层代码查看执行顺序。
step out :将进入到底层的代码直接一步执行完
run to cursor:运行断点

用python 发邮件:上

python发送邮件涉及的知识点

两个内置模块:smtolib ,email
需要了解附件以什么样的形式添加到邮件中(open方法、二进制、字节)
什么是授权码
能够看懂邮件发送过程中的发送编码(发送成功、发送失败、垃圾邮件等编码编号)
什么是smtp协议

如何将python发送邮件实现最大化的简单、简洁、便捷
需要会使用python进行文件读写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值