码迷,mamicode.com
首页 > 其他好文 > 详细

day7 操作excel 操作redis 简单的接口开发

时间:2018-05-11 23:54:40      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:不用   ODB   lis   sheet   .sh   流量   use   执行   AC   

操作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 简单的接口开发

标签:不用   ODB   lis   sheet   .sh   流量   use   执行   AC   

原文地址:https://www.cnblogs.com/bzdfxx/p/9024154.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!