zoukankan      html  css  js  c++  java
  • mock接口开发,excel(读,写,修改)

    mock接口开发

    首先需要安装  Flask 模块  :pip install flask

    然后引用   from flask import request #想获取到请求参数的话,就得用这个

    lanxia = flask.Flask(__name__) #把这个python文件当做一个web服务

    @lanxia.server('/login',[ ' post ' , ' get ' ] )#第一个参数是路径,第二个参数是请求方式;如果不填写默认为get方式

    def web():#函数和上一行必须连着,不能有空行

        username = request.values.get('n')  #get请求获取值的方式,‘n’代表入参时候的key
        pwd = request.values.get('p')#get请求获取值的方式,‘p’代表入参时候的key

        json_user_id = request.json.get('a') #post请求方式(json串)获取值的方式,‘a’代表入参时候的key
        json_sign = request.json.get('b')#post请求方式(json串)获取值的方式,‘a’代表入参时候的key

    lanxia.run(port=8003,debug=Truehost =’127.0.0.1’)#运行这个服务,port端口号(不能被占用),debug=Ture代表开启每次修改代码后自动重启服务,host代表他人如果想要访问这个接口地址时候的ip

    所以值返回来的格式都是字符串类型

     

     flask.request.headers.get('传的header的key')#接口获取header的方法

    获取header方法:request.headers


     flask.request.cookies.get('传的cookie的key')#接口获取key的方法

    获取cookie方法:request.cookies

     

    file = {“ker”:open(‘haha.py’)}#传的value是文件句柄

     flask.request.files.get('传的files的key')#接口获取key的方法

    获取文件方法:自动上传到了设置好的路径

     

    下载文件

    接口代码

    @app.route('/upload',methods=['post'])

    def upload():
        #上传文件接口
        f = request.files.get('file_name',None)
        if f:
            t = time.strftime('%Y%m%d%H%M%S')#获取当前时间
            new_file_name = t+f.filename#给文件重命名,防止有重复文件覆盖
            f.save(new_file_name)#保存文件
            return jsonify({"code":"ok"})
        else:
            return jsonify({"msg":"请上传文件!"})
    app.run(debug=True,port=8888)#启动这个web服务

     

    写入Excel

    需要安装xlwt模块:pip install xlwt

    import xlwt   
    book  = xlwt.Workbook()#创建一个excel  
    sheet = book.add_sheet('lanxia')#添加一个sheet
    title = ['姓名','班级','住址','手机号']
    data = [
        ['','巨蟹座','中南海',110],
        ['水瓶座','巨蟹座','紫禁城',119]
    ]
    i=0#控制列
    for j in title:
        #j是每次循环title的内容
        sheet.write(0,i,j)#0是行不变,i是列,每次循环的内容
        i+=1#每次循环的时候列都加1
    line=1#控制写的行
    for d in data:#外层循环是控制行数的
        row = 0#代表的列,列每次都变
        for dd in d:#控制列的
            sheet.write(line,row,dd)#行,列,内容
            row+=1#列每次都要加一
        line+=1
    book.save('skkk8.xls')#后缀只能用xls,要不然打不开

     

    读取Excel

    需要安装xlwd模块:pip install xlrd

    book = xlrd.open_workbook('D:DocumentsTencent Files837221976FileRecv测试用例.xlsx')
    sheet = book.sheet_by_name('Sheet1')

    rows = sheet.nrows#sheet页里面的行数
    clos = sheet.ncols#sheet页里面的列数
    print(sheet.cell(1,1).value)#通过指定行和列去获取到单元格里面的内容
    row_data = sheet.row_values(1)#获取第一行的内容
    for i in range(rows):
        print(sheet.row_values(i))#获取第几行的数据

     

    修改excel

     

    需要安装xlutils模块:pip install xlutils

    from xlutils.copy import copy#拷贝excel模块方法
    import xlrd#修改时需要使用读
    import os
    #1、打一要修改的excel
    #2、再打开另一个excel
    #3、把第一个excel里面修改东西写到第二个里头
    #4、把原来的excel删掉,新的excel名改成原来的名字
    book = xlrd.open_workbook('stu.xls')
    #复制一个excel
    new_book = copy(book)#复制了一份原来的excel
    #通过获取到新的excel里面的sheet
    sheet = new_book.get_sheet(0)#获取到第一个sheet
    sheet.write(6, 0, 'Dandan Sun')#写入excel,第一个值是行,第二个值是列
    new_book.save('stu_new.xls')#保存新的excel,保存excel必须使用后缀名是.xls的,不是能是.xlsx
    os.remove('stu.xls')#删除旧的文档
    os.rename('stu_new.xls','stu.xls')#重命名(“旧名字“,”最新命名的名字”)

     

  • 相关阅读:
    django--orm操作
    路由
    django ----视图和路由
    DJango 前三天小结
    JQuery----操作01
    前端---JQuery初识
    前端----jsDOM
    前端---js02
    前端-----js
    面向对象
  • 原文地址:https://www.cnblogs.com/lanxia/p/7845210.html
Copyright © 2011-2022 走看看