1、excel操作
在python中,对excel表格读,写,追加数据,用以下三个模块:
xlrd 读取excel表中的数据
xlwt 创建一个全新的excel文件,然后对这个文件进行写入内容以及保存。
xlutils 读入一个excel文件,然后进行修改或追加,不能操作xlsx,只能操作xls。
a、读取Excel:
import xlrd
i、打开excel文件
sheet = book.sheets()#通过索引顺序获取
sheet = book.sheet_by_index(0)#通过索引顺序获取
sheet = book.sheet_by_name('student')#通过名称获取

ii、获取行、列数:

iii、获取整行整列的数据:使用行列索引来获取数值,默认用list展示

iiii、获取单元格数据:可以直取单元格,也可以通过行列索引来获取数值

b、写excel操作
需要导入import xlwt模块
i、创建workbook:
book = xlwt.Workbook(encoding='utf-8', style_compression=0)
encoding:设置字符编码
style_compression:表示是否压缩
ii、创建sheet对象:一个对象为一个sheet页
sheet = book.add_sheet('students', cell_overwrite_ok=True)student:该字符串为sheet页名称
cell_overwrite_ok:表示是否可以覆盖单元格,默认为false
iii、向表中写入数据:
sheet.write(0,1,'name')# 其中的'0-行, 1-列'指定表中的单元,'name'是向该单元写入的内容iiii、保存
book.save('students.xls') #如果后缀写成xlsx,使用微软的office打不开
c、修改excel
需要导入模块:
from xlutils import copy
import xlrd
book = xlrd.open_workbook('students.xls')#打开excel文件
sheet = book.sheet_by_index(0)#获取excel文件的sheet页
copy_sheet = new_book.get_sheet(0)#获取excel文件数据
#之后可以对文件进行修改
for row in range(1,sheet.nrows-1):#1 2 3 4 5 6 7
addr = sheet.cell(row,2).value
addr = addr.replace('beijing',"北京").replace('shanghai','上海')
new_book.save('students.xls')#保存※enumerate方法,方法入参为列表,返回值为索引+元素组成的元组,可以使用两个变量导出结果
2、Python配置自动发送邮件
使用Python发送邮件,需声明模块import yamail,并且对应邮箱需打开SMTP服务
Python实现发送邮件代码如下
1 import yamail #上传到了pip源
2
3 smtp = yamail.SMTP(
4 host='',#改成自己邮箱的邮箱的服务器即可
5 user='XXXXXXXX@',
6 password='sdfsdf'#如果是163、qq等免费邮箱的话需要授权码,
7 # 自己公司的邮箱,一般都使用面膜
8 )
9
10 smtp.send(to=['AAAAAA@'],#发送给谁
11 subject='你好,请查收附件',#邮件主题
12 cc=['BBBBBBB@',],#抄送,如果是多个人写list
13 contents='邮件正文',#邮件正文
14 attachments=['笔记.txt'] #附件,如果是多个附件,写list
15 )
16 smtp.close()
17
18
19 #zghwpwjltwcycaic
3、Python操作数据库
Python操作数据库需先声明模块import pymysql\pyorcal等等,具体可以访问Python数据库接口及API查看详细的支持数据库列表。
不同的数据库你需要下载不同的DB API模块,例如需要访问Oracle数据库和Mysql数据,则需要下载Oracle和MySQL数据库模块。
a、第一步先与数据库进行连接
1 host = 'XXX.XXX.XXX.XXX'
2 user = 'XXX'
3 password = 'XXX' #字符串
4 db='XXX'
5 port = XXX #int类型
6
7 connect = pymysql.connect(host=host,user=user,
8 password=password,
9 port=port,db=db,
10 autocommit=True)
b、建立游标:游标会在数据库执行SQL,并获取全部执行结果,以二维数组的形式存在游标中。
cur = connect.cursor() #建立游标,仓库管理员
游标默认以二维列表的形式储存数据,也可以自定义储存类型,方法如下:
cur = connect.cursor(pymysql.cursors.DictCursor) #将游标类型定义为字典
c、使用execute执行SQL语句,并使用fetchall方法获取执行结果

d、关闭游标、关闭数据库连接
※每次使用注意关闭连接,避免造成数据库连接池无法释放
cur.close()
connect.close()
e、其他常用方法:
description获取表的字段说明
fetchmany、fetchone、fetchall:按要求获取结果

※需要注意每次执行增删改操作后,记得使用commit方法向数据库提交更改,以免操作无效。也可以在连接命令中增加自动提交参数

4、异常处理
异常处理用于执行Python代码是,预先对于不确定的代码,提前进行出现异常情况的处理,避免由于出现异常代指代码无法运行。
捕捉异常可以使用try/except语句。
1 try:
2 '1'+ '2'
3 2 / 1
4 except TypeError as e:
5 print(e)
6 print('出错了')
7 except ZeroDivisionError as e:#出现ZeroDivisionError错误,则执行下方代码
8 print('除数不能为0')
9 except IndexError:
10 print('下标错误')
11 except KeyError:
12 print('找不到字典的key')
13 except FileNotFoundError:
14 print('文件打不开')
15 except Exception as e:#出现任何异常,则执行下方代码
16 print('出异常了',e)
17 else:#其余情况,则执行下方代码
18 print('没有出异常')
19 finally:#无论是否发生异常,执行下方代码逻辑
20 print('aaa')
5、获取Python命令输入参数
当Python文件被使用Python命令直接调用时,可以使用sys.argv获取传入的参数

















