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')
代码流程:
- 导入需要用到的 xlwt 模块和 random 模块;
- 创建一个工作簿;
- 在工作簿中创建工作表;
- 写入工作表中的内容(列名、行名、成绩)
- 保存工作簿。
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)
代码流程:
- 导入需要用到的 xlrd 模块;
- 打开一个已经存在的工作簿;
- 读取工作簿中所有工作表的名称;
- 通过表名或者工作表的下标指定工作表;
- 读取某个单元格的值;
- 找到行、列总数,读取整个工作表的数据。
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(文件、模式、编码方式)
- 参数一文件:文件就是本地的一个文件,可以使用open方法打开。
- 参数二模式:打开的方式和打开的类型。
- 打开的方式:r(只读)、w(只写)、a(追加)
- 打开的类型:t(文本类型)、b(字节类型(代表二进制数据))
- 参数三编码方式:如果是字节类型打开,可以不写编码方式;但是如果以文本类型打开,将编码方式设置为utf-8。
file = open('文件','打开的方式+类型','编码(仅文本类型需要写)')
本文介绍了Python使用xlwt和xlrd模块对xls文件进行读写操作,以及利用Python发送邮件的流程和代码编写,包括登录、写邮件和发送步骤。同时,讲解了open方法的参数和用途。

被折叠的 条评论
为什么被折叠?



