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 简单的接口开发的主要内容,如果未能解决你的问题,请参考以下文章

day7-Python学习笔记(十六)excel操作

python学习笔记-day7-python操作数据库

python学习笔记-day7-2-python从mysql数据库导数据到excel,读excel,修改excel

python全栈开发-Day7 文件处理

python Redis操作excel操作网络请求异常处理发送邮件发送钉钉消息等

day7文件操作