设为首页 加入收藏

TOP

Python自动化--语言基础6--模块操作之re、MySQL、Excel(一)
2017-12-20 12:50:23 】 浏览:439
Tags:Python 自动化 语言基础 6-- 模块 操作 MySQL Excel

1、Python自有模块正则

 1 import re
 2 
 3 # re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None
 4 print(re.match("aaa","aaaabbb").group())   #在起始位置匹配
 5 print(re.match("aaa","abbbaaa"))           #不在起始位置匹配,返回None
 6 
 7 # re.search扫描整个字符串并返回第一个成功的匹配
 8 print(re.search("haha","geinizhanggognzi").group())
 9 
10 # re.findall从左到右扫描字符串,按顺序返回匹配,如果无匹配结果则返回空列表
11 print(re.findall("\d","queshihenlihai"))
12 print(re.findall("\d","zhengchangfasheng"))
13 
14 # sub用于替换字符串中的匹配项
15 print(re.sub("g..t","good","goot geet up"))
16 # split返回切割后的列表
17 print(re.split("\+","123+456*789+abcd"))

1 # ['AD123453', 'AC342123', 'AR343212']
2 # [A-Z]{2}\d{6}
3 
4 # ^(13|14|15|17|18)\d{9}
5 # ^1[34578]\d{9}

2、Python第三方模块操作MySQL

连接数据库:

 1 import mysql.connector
 2 config = {
 3     "host":"127.0.0.1",
 4     "user":"root",
 5     "passwd":"vertrigo",
 6     "port":3306,
 7     "db":"test",
 8     "charset":"utf8"
 9 }
10 
11 try:
12     db = mysql.connector.connect(**config)
13 except mysql.connector.Error as e:
14     print("连接数据库失败!",str(e))

插入数据:

 1 2 cursor = db.cursor(buffered=True)   #buffered=True会把结果集保存到本地并一次性返回,这样可以提高性能
 2 try:
 3     #第一种:直接字符串插入方式
 4     # sql_insert1="insert into student (name, age) values ('xiao', 27)"
 5     # cursor.execute(sql_insert1)
 6 
 7     #第二种:元组连接插入方式
 8     sql_insert2="insert into student (name, age) values (%s, %s)"
 9     #此处的%s为占位符,而不是格式化字符串,所以age用%s
10     # data=('xiaoqiang',18)
11     # cursor.execute(sql_insert2,data)
12     data = [("xiao",20),
13             ("xian",25),
14             ("rourou",27),
15             ("juju",28)]
16     cursor.executemany(sql_insert2,data)
17 
18     #如果表引擎为Innodb,执行完成后需执行commit进行事务提交
19     db.commit()
20     #cursor.execute('commit')
21 except mysql.connector.Error as e:
22     print('插入失败!', str(e))
23 finally:
24     cursor.close()
25     db.close()

删除数据:

 1 cursor = db.cursor(buffered=True)
 2 try:
 3     sql_del = "delete from student where name=%s and age=%s"
 4     data_del = [
 5         ("jin",28),
 6         ("songhao",27)]
 7     cursor.executemany(sql_del,data_del)
 8     db.commit()
 9 except mysql.connector.Error as e:
10     print("删除数据失败!",str(e))
11 finally:
12     cursor.close()
13     db.close()

修改数据:

 1 cursor = db.cursor(buffered=True)
 2 try:
 3     sql_update = "update student set age = 28 where name='nan'"
 4     cursor.execute(sql_update)
 5     db.commit()
 6 except mysql.connector.Error as e:
 7     print('修改数据失败',str(e))
 8 finally:
 9     cursor.close()
10     db.close()

查询数据:

 1 cursor = db.cursor(buffered=True)
 2 try:
 3     # sql_select1 = "select * from student where age>%s"
 4     # cursor.execute(sql_select1,(1,))
 5 
 6     sql_select2 = "select * from student where age>%s"
 7     cursor.execute(sql_select2,(26,))
 8     datas1 = cursor.fetchall()         #如果在后加上[1]代表是取第一条数据
 9 
10     cursor.execute(sql_select2,(20,))
11     datas2 = cursor.fetchone()[1]      #如果在后加上[1]代表是取第一个字段
12     datas3 = cursor.fetchmany(5)
13 
14     print(datas1)
15     print(datas2)
16     print(datas3)
17 except mysql.connector.Error as e:
18     print("查询数据失败!",str(e))
19 finally:
20     cursor.c
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇PyCharm 常用快捷键和设置 下一篇模块讲解----time与date time(时..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目