Day7 excel操作、连接redis

1、读excel

import xlrd
book = xlrd.open_workbook('stu2.xls')
sheet=book.sheet_by_index(0)

 获取指定的单元格内容

sheet=book.sheet_by_name('sheet1')
print(sheet.cell(0,0).value) 

 获取整行的数据

print(sheet.row_values(0)) 

 获取整列的数据

print(sheet.col_values(0)) 

 行数、列数

print(sheet.nrows) #行数
print(sheet.ncols) #列数

2、修改excel

# 1、先打开原来的excel
# 2、复制一份
# 3、在复制的excel上修改
# 4、保存

import xlrd
from xlutils import copy   #导入copy
book = xlrd.open_workbook('stu2.xls')
new_book = copy.copy(book)
sheet = new_book.get_sheet(0)  #修改一个excel的时候,得用get_sheet()方法
sheet.write(0,0,'编号')
sheet.write(0,3,'女')
new_book.save('stu2.xls')

3、python连接redis

string类型
import redis
ip = '118.24.3.40'
password = '******'
r=redis.Redis(host=ip,password=password,port=6379,db=10,decode_responses=True)    #连接redis
b=redis.Redis(host=ip,password=password,port=6378,db=10,decode_responses=True)

 增加

增加:set  增加一个key和value
r.set('lyl_session007','gsgdsdsfsffdsf') 
模糊匹配
 print(r.keys('*session*'))   

 删除

# r.delete('hhh')
# r.flushall()  #清空所有数据库里边的数据
# r.flushdb()  #清空当前数据库里边的数据
# print(r.keys())  #获取到所有的key

 查询

print(r.get('lyl001_info'))

 哈希类型用法

# #哈希类型 两个key,大key里边有个小key
# r.hset('sms_code','18701266155','12345')  #set值
# r.hset('sms_code','5234234','2423423')  #不能在后边直接指定过期时间
# # r.expire('lyl_session')   #只能这样指定过期时间
# # print(r.hget('sms_code','18701266155')) #获取值 ,18701266155相当于key
# # print(r.hgetall('sms_code'))  #获取到这个key里边的所有内容
# r.hdel('sms_code','18701266155')  #删除指定的key
# # r.delete('sms_code')  #把整个key删除掉

4、迁移redis

 需求:

1、把现在这个redis数据库里面的数据全部整到另外一个redis里面

思路:
#要把a redis里面的数据 全部到迁移到b redis
1、连上2个redis
2、先从a redis里面获取到所有key
3、然后判断key是什么类型,根据类型来判断使用什么方法
4、从a redis里面获取到数据,set 到b redis里面
import redis
ip = '118.24.3.40'
password='****&*'
r = redis.Redis(host=ip,password=password,port=6379,db=3,
                decode_responses=True)#连接redis
r2 = redis.Redis(host=ip,password=password,port=6378,db=2,
                decode_responses=True)#连接redis
all_key = r.keys()
for k in all_key:
    if r.type(k) == 'string':
        a_data = r.get(k)#从a redis获取到的数据
        r2.set(k,a_data)
    elif r.type(k) =='hash':
        hash_data = r.hgetall(k)    # {'key1':'v1',key2:v2}
        for key,v in hash_data.items():
            r2.hset(k,key,v)

5、接口开发

import flask
import tools
import json
server = flask.Flask(__name__)
#新建一个服务,把当前这个python文件当做一个服务


@server.route('/login',methods=['get'])
def hello():
    uname = flask.request.values.get('username')
    pd = flask.request.values.get('passwd')
    sql = 'select * from app_myuser where username="%s"'%uname
    res = tools.my_db(sql)
    if res:
        if tools.my_md5(pd) == res.get('passwd'):
            res = {"code":0,"msg":"登录成功!"}
        else:
            res = {"code":1,"msg":"密码错误!"}
    else:
        res = {'code':2,"msg":"用户不存在"}
    return json.dumps(res,ensure_ascii=False,indent=4)

@server.route('/reg',methods=['post'])
def reg():
    uname = flask.request.values.get('username')
    pd = flask.request.values.get('passwd')
    cpd = flask.request.values.get('cpwd')



server.run(host='0.0.0.0',port=8999,debug=True)  运行服务,想让别人访问你的ip地址,那把ip写成0,0,0,0,debug=true,改完代码后,不用手动重启服务
#服务启动的时候只能开一个窗口
#ip:8000/login #127.0.0.1

  

猜你喜欢

转载自www.cnblogs.com/yalun/p/10161068.html
今日推荐