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')#通过名称获取

 

    

python发送exchage邮件 python发送excel表格的邮件_python发送exchage邮件

    ii、获取行、列数:

    

python发送exchage邮件 python发送excel表格的邮件_数据_02

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

    

python发送exchage邮件 python发送excel表格的邮件_python发送exchage邮件_03

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

    

python发送exchage邮件 python发送excel表格的邮件_数据_04

  

  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方法获取执行结果

    

python发送exchage邮件 python发送excel表格的邮件_数据_05

 

  d、关闭游标、关闭数据库连接

※每次使用注意关闭连接,避免造成数据库连接池无法释放

    cur.close()

    connect.close()

  e、其他常用方法:

    description获取表的字段说明

    fetchmany、fetchone、fetchall:按要求获取结果

    

python发送exchage邮件 python发送excel表格的邮件_Python_06

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

    

python发送exchage邮件 python发送excel表格的邮件_数据库_07

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获取传入的参数

  

python发送exchage邮件 python发送excel表格的邮件_数据库_08