day7 操作excel 操作redis 简单的接口开发
Posted bzdfxx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day7 操作excel 操作redis 简单的接口开发相关的知识,希望对你有一定的参考价值。
操作excel:
读excel:xlrd 安装命令 pip install xlrd
import xlrd book = xlrd.open_workbook(‘app_student.xls‘) #打开一个excel sheet = book.sheet_by_index(0) #获取第一个sheet页 # sheet2 = book.sheet_by_name(‘shee1‘) # print(sheet.cell(0,0).value) #指定sheet页里面行和lie获取数据 # print(sheet.cell(1,0).value) #指定sheet页里面行和lie获取数据 # print(sheet.row_values(0)) #这个获取到第几行的内容 # print(sheet.row_values(1)) #这个获取到第几行的内容 # print(sheet.nrows) #获取到excel里面总共有多少行 # for i in range(sheet.nrows): #循环获取到每行数据 # print(sheet.row_values(i)) print(sheet.ncols) #总共多少列 print(sheet.col_values(0)) #取第几列的数据
修改excel
import xlrd from xlutils import copy book = xlrd.open_workbook(‘app_student.xls‘) #先用xlrd模块,打开一个excel new_book = copy.copy(book) # #通过xlutils这个模块里面copy方法,复制一份excel sheet = new_book.get_sheet(0) #获取sheet页 lis = [‘编号‘,‘名字‘,‘性别‘,‘年龄‘,‘地址‘,‘班级‘,‘手机号‘,‘金币‘] for col,filed in enumerate(lis): sheet.write(0,col,filed) #因为是换表头,第一行, 0 new_book.save(‘app_student.xls‘)
通用从mysql导出数据到excel
import pymysql,xlwt def export_excel(table_name): host, user, passwd, db = ‘xxx.xx.xx.xx‘, ‘xxx‘, ‘123456‘, ‘xxx‘ coon = pymysql.connect(user=user, host=host, port=3306, passwd=passwd, db=db, charset=‘utf8‘) cur = coon.cursor() # 建立游标,指定cursor类型返回的是字典 sql = ‘select * from %s ;‘%table_name cur.execute(sql) # 执行sql fileds = [filed[0] for filed in cur.description] #所有的字段 print(fileds) all_data = cur.fetchall() book = xlwt.Workbook() sheet = book.add_sheet(‘sheet1‘) for col,filed in enumerate(fileds): #写表头的 sheet.write(0,col,filed) row = 1 #行数 for data in all_data: #行 for col, filed in enumerate(data): # 控制列 enumerate可以自动获取下标 sheet.write(row, col, filed) row+=1#每次写完一行,行就加1 # book.save(‘%s.xls‘%table_name) export_excel(‘app_student‘)
enumerate 的用法
enumerate([list,list2]) #循环的时候,直接获取到下标,和值
for index,value in enumerate([list,list2]):
print(index,vlaue)
===============================================================================================================================
操作redis
安装命令:pip install redis
redis也是一个数据库。
关系型数据库
mysql、oracle、sql server、db2、sqlite
sql
数据存在磁盘上
非关系型数据库
没有
sql
get(‘k‘)
set(‘xx‘)
mongodb、redis
redis数据全部都是存在内存里面。
redis本身性能是非常好的,每秒支持30w次的读写。
连接redis
import redis r = redis.Redis(host=‘xxx.xx.x.xx‘,password=‘xxxxx‘,db=1,port=6379)
redis操作
#增删改查 # r.set(‘niuhanyang‘,‘帅!‘) #数据库里面新增一个值 #修改也是set # r.delete(‘niuhanyang‘) #r.setex(‘python_123‘,‘哈哈哈‘,20) #设置key的失效时间,最后这个参数是秒 # hwt = r.get(‘hwt‘) # print(hwt.decode()) # print(r.keys(‘*xxx*‘))#获取到所有的key # print(r.get(‘sdfsdf‘)) # r.set(‘天蝎座:mpp‘,‘呵呵呵‘) # r.get(‘天蝎座:mpp‘) # 上面操作都是针对 string类型 # for k in r.keys(): #删除所有的key # r.delete(k) # 哈希类型 hash 嵌套字典 # r.hset(‘stu_info‘,‘刘伟‘,‘1m8 100w存款‘) # r.hset(‘stu_info‘,‘张流量‘,‘浪,为了不交作业,故意让狗咬他‘) # r.hset(‘stu_info‘,‘董春光‘,‘为了不交作业,找了一条狗咬张流量,然后陪张流量去医院‘) # print(r.hget(‘stu_info‘,‘张流量‘).decode()) #指定大key和小key获取对应的数据 # print(r.hgetall(‘stu_info‘)) #获取里面所有的k和-v # stu_info = r.hgetall(‘stu_info‘) # r.hdel(‘stu_info‘,‘gyx‘) #删除指定key # r.delete(‘stu_info‘) #删除整个key
r.expire(‘aaa‘,100) #第一个key设置失效时间
接口开发
import flask,json # __name__,代表当前这个python文件 server = flask.Flask(__name__) #把当前这个python文件,当做一个服务 def my_db(sql): import pymysql coon = pymysql.connect( host=‘xxx.xx.x.xx‘, user=‘xxx‘, passwd=‘xxxxx‘, port=3306, db=‘jxz‘, charset=‘utf8‘) cur = coon.cursor() #建立游标 cur.execute(sql)#执行sql if sql.strip()[:6].upper()==‘SELECT‘: res = cur.fetchall() else: coon.commit() res = ‘ok‘ cur.close() coon.close() return res @server.route(‘/index‘,methods=[‘get‘]) def index(): res = {‘msg‘:‘这是我开发的第一个接口‘,‘msg_code‘:0} return json.dumps(res,ensure_ascii=False) @server.route(‘/reg‘,methods=[‘post‘]) def reg(): username = flask.request.values.get(‘username‘)# pwd = flask.request.values.get(‘passwd‘) print(‘username..‘,username) if username and pwd: sql = ‘select * from my_user where username="%s";‘%username # res = my_db(sql) if my_db(sql): res = {‘msg‘:‘用户已存在‘,‘msg_code‘:2001} else: insert_sql = ‘insert into my_user (username,passwd,is_admin) values ("%s","%s",0);‘%(username,pwd) my_db(insert_sql) res = {‘msg‘:‘注册成功!‘,‘msg_code‘:0} else: res = {‘msg‘:‘必填字段未填,请查看接口文档!‘,‘msg_code‘:1001} # 1001必填字段未填 return json.dumps(res,ensure_ascii=False) server.run(port=7777,debug=True,host=‘0.0.0.0‘) #debug=True,改了代码之后,不用重启它会自动帮你重启 # host=0.0.0.0表示别人访问的时候,用你的ip就可以访问了。 # 127.0.0.1 # 192.168. #脚本
以上是关于day7 操作excel 操作redis 简单的接口开发的主要内容,如果未能解决你的问题,请参考以下文章
python学习笔记-day7-2-python从mysql数据库导数据到excel,读excel,修改excel