220901 Python学习:xlwt模块、xlrd模块、python发邮件流程和发邮件代码编写、open方法

本文介绍了Python使用xlwt和xlrd模块对xls文件进行读写操作,以及利用Python发送邮件的流程和代码编写,包括登录、写邮件和发送步骤。同时,讲解了open方法的参数和用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

xlwt模块写操作,只能操作xls后缀名的excel文件

注意:xlwt只能从0到1进行文件的创建与写操作;不要奢求xlwt能够对一个已经存在的文件进行写操作,因为其无法加载(读)操作。

from xlwt import Workbook
from random import randint

wb = Workbook
ws = wb.add_sheet('期末成绩')
title = ['姓名','语文','数学','英语']
for i in range(len(title)):
    ws.write(0, i, title[i])
names = ['关羽','张飞','赵云','马超','黄忠']
for nameindex in range(len(names)):
    ws.write(nameindex + 1, 0, names[i])
    for colindex in range(1, 4):
        ws.write(nameindex + 1, colindex, randin(1, 100))
wb.save('一年级一班考试成绩.xls')

代码流程:

  1. 导入需要用到的 xlwt 模块和 random 模块;
  2. 创建一个工作簿;
  3. 在工作簿中创建工作表;
  4. 写入工作表中的内容(列名、行名、成绩)
  5. 保存工作簿。

xlrd模块读取文件,只能操作xls后缀名的excel文件

注意:xls文件使用xlrd读取数据时整型会变为浮点型,xlrd 模块在读取文件之后不需要关闭或保存。

但是一般在文件操作后都需要关闭(close)文件,写操作后需要保存(save)关闭文件;因为在文件被操作时是出于占用状态,除非执行关闭操作或者程序结束,否则文件不会被关闭。

from xlrd import open_workbook

wb = open_workbook('一年级一班考试成绩')
sheetlist = wb.sheet_names()
# sheet1 = wb.sheet_by_names('期末成绩')  通过表名指定工作表
sheet1 = wb.sheet_by_index(0)  # 通过下标指定工作表
print(sheet1.cell(0, 0).value) # 读单元格中的值;没有value,则是text:'姓名'
rows = sheet1.nrows
cols = sheet1.ncols
for row in range(rows):
    for col in range(cols):
        print(sheet1.cell(row, col).value)

代码流程:

  1. 导入需要用到的 xlrd 模块;
  2. 打开一个已经存在的工作簿;
  3. 读取工作簿中所有工作表的名称;
  4. 通过表名或者工作表的下标指定工作表;
  5. 读取某个单元格的值;
  6. 找到行、列总数,读取整个工作表的数据。

python发邮件流程和发邮件的代码编写

一、python发邮件流程:登录、写邮件、发送。

注意:使用python发送邮件,涉及两个内置模块:smtplib、email。

  • 登录:用程序通过邮件服务器地址连通邮箱服务器,然后借助SMTP协议通过用户名和授权码进行登录。
  • 写邮件:邮件由发件人、收件人(收件人、抄送人、密送人)、邮件主题、邮件内容(正文、附件)等组成。
  • 发送:借助一开始连通好的服务器和登录好的账号密码,在SMTP协议基础上,通过收件人的地址进行邮件发送。

二、发邮件代码编写

登录代码:

  • 发送人账号
  • 发送人授权码
  • 连通服务器
  • 登录
import smtplib


sendAddress = '邮箱账号'
password = '邮箱中的授权码'
server = smtplib.SMTP_SSL('smtp.邮箱后缀', 465)  # 465端口就是发送邮件的端口
loginResult = server.login(senAddress, password)
print(loginResult)



写邮件:

  • content构建正文
  • 构建发件人、收件人、抄送人、邮件主题等
from email.mime.text import MIMEText
# MIMEText被用来构造邮件信息,但是MIMEText不能够添加附件。

content = """
Hi,XX你好呀:
    金秋,是收获与希望,是干净与清爽,是窝在沙发上看一场电影最舒服的季节。无夏日燥热,冬日寒冷,那我们一起拥抱和分享这个秋天。

"""
msg = MIMEText(content, plain, utf-8)
msg['From'] = '姓名<邮箱地址>'
msg['To'] = '姓名<邮箱地址>;姓名<邮箱地址>;继续添加收件人'
msg['Cc'] = '抄送人'
msg['Subject'] = ''

发送:server.sendmail(发件人,收件人,发送的消息)

To = ['1766935706@qq.com','312018787@qq.com']
server.sendmail(sendAddress,To,msg.as_string())  # 字符串类型的邮件,mag.as_string()
print('发送成功')

注意:登录+写邮件+发送才是一段完整代码。

open方法

三个参数:open(文件、模式、编码方式)

  1. 参数一文件:文件就是本地的一个文件,可以使用open方法打开。
  2. 参数二模式:打开的方式和打开的类型。
    1. 打开的方式:r(只读)、w(只写)、a(追加)
    2. 打开的类型:t(文本类型)、b(字节类型(代表二进制数据))
  3. 参数三编码方式:如果是字节类型打开,可以不写编码方式;但是如果以文本类型打开,将编码方式设置为utf-8。
    file = open('文件','打开的方式+类型','编码(仅文本类型需要写)')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值