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.
#脚本


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

时间: 2024-10-09 15:43:47

day7 操作excel 操作redis 简单的接口开发的相关文章

Java操作Excel之POI简单例子

21 /** 22 * 利用POI操作Excel表单 23 * 24 * 需要jar包: 25 * HSSF针对03及以前版本,即.xls后缀 26 * |---poi-3.16.jar 27 * XSSF针对07及以后版本,即xlsx后缀 28 * |---poi-3.16.jar 29 * |---poi-ooxml.3.16.jar 30 * |---poi-ooxml-schemas-3.16.jar 31 * |---xmlbeans-2.6.0.jar 32 * |---common

POI 操作 excel表格 (简单整理)

简单的整理: import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.streaming.SXSSFCell; import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.ap

第七周作业 POI操作Excel,world文档

先来说说jxl与poi的区别. 相同点都是操作EXcel的工具,但jxl不常用原因有:jxl没有人维护,操作excel效力低下,只支持03及其以前的版本的excel,对图片的支持不完整. 同poi比较而言,poi效率高功能强大,支持xlsx,xls即支持所有的版本.而且操作大数据效率比较高,因为他对大数据的操作做了相应的优化. 下面来个简单地实现:poi操作Excel的功能 简单的单元测试类:实现的功能是向excel文件中写入数据 1 @Test 2 public void test1() th

python编程:excel文件操作,redis数据库,接口开发

1.操作mysql import pymysql # 1.连上数据库 账号.密码 ip 端口号 数据库 #2.建立游标 #3.执行sql #4 .获取结果 # 5.关闭游标 #6.连接关闭 coon = pymysql.connect( host='数据库ip',user='jxz',passwd='123456', port=3306,db='jxz',charset='utf8' #port必须写int类型, #charset这里必须写utf8 ) cur = coon.cursor() #

python基础学习6-mongodb、sys、接口开发、操作excel

1       mysql补充 cur = conn.cursor(cursor=pymysql.cursors.DictCursor)    #直接获取的数据转换为字典格式的 cur.description                   #直接获取的描述信息 fileds = [filed[0] for filed in cur.description]        #列表生成式,获取到第一行所有的字段 import pymysql,xlwtconn = pymysql.connect

使用JXL对Excel表格进行简单的操作

前段时间由于项目的需求,要求使用JXL,做完之后做下记录,方便以后查看! 首先我们要先下载JXL的JAR包:http://download.csdn.net/detail/u013352832/7777047 将JXL.JAR 包导入到项目中即可直接只用! 直接上代码 使用JXL来操作Excel表格,我们应该首先判断一下Excel表格是否存在 1 File file = new File(user.getZkfp()); 2 // 判断zkfp.xls文件是否存在,不存在则创建zkfp.xls文

Redis简单的数据操作(增删改查)

#Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2. 获取: get key 127.0.0.1:6379> get username "zhangsan" 以下同理: 127.0.0.1:6379> set age 23 OK 127.0.0.1:6379> get age "23" 127.0.0

接口自动化(二)--操作Excel获取需要数据

这一部分的内容记述一下对Excel表格的操作,本实战中的测试用例是由Excel来管理的,因此操作Excel是重要的一部分. 再次贴出这张图,所有的测试用例都在这个sheet内,请求数据真实存放在json文件内,表格中的请求数据列放置的是json文件内字典的key值. 操作Excel主要就是取出Excel中的case(即数据),然后执行,重点是怎样取出数据,因为有些数据是不需要的,所以不能用遍历Excel的方法来取数据. 思路一:把列数作为常量,行数作为变量来取想要的数据 思路二:把Excel中不

MOOC(7)- case依赖、读取json配置文件进行多个接口请求-xlrd操作excel(11)

xlrd操作excel # -*- coding: utf-8 -*- # @Time : 2020/2/12 9:14 # @File : do_excel_xlrd_11.py # @Author: Hero Liu import xlrd # 打开工作簿 work_book = xlrd.open_workbook("../data/test_data.xlsx") # 通过指定索引获取sheet表,索引从0开始:也可以通过指定表名来获取 # table = work_book.