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:\Documents\Tencent Files\837221976\FileRecv\测试用例.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')#重命名(“旧名字“,”最新命名的名字”)

 

转载于:https://www.cnblogs.com/lanxia/p/7845210.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web前端学习之ruby标记和rt/rp标记

ruby 标记定义ruby注释(中文注音或字符)。ruby标记与rt标记一同使用。ruby标记由一个或多个字符(需要一个解释/发音)和一个提供该信息的rt 标记组成,还包括可选的rp标记,定义当浏览器不支持ruby 标记时显示…

mysql 5.7 udf http_mysql下mysql-udf-http效率测试小记

看到张宴的博客上关于"http/rest客户端的文章",怎样安装啥的直接都跳过,下面直接进入测试阶段,测试环境:虚拟机复制代码 代码如下:[rootlocalhost ~]# uname -aLinux sunss 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 …

作为一名程序员,聊聊我们的现状和未来

前言:互联网这个高速发展的新兴行业,注定是敢想敢干敢创新,耐劳耐操耐折腾年轻人的天下? 我们所在的互联网行业,不断地有新的公司冒出,有新的商业模式成形,有新的产品形态影响着大家的生活日常&…

适用于孩子,父母和祖父母的JBoss HornetQ –第1章

现在与HornetQ合作已经快4年了,我认为是时候分享我到目前为止所学知识的一部分了。 这篇文章的主要目的不是重写官方文档 ,而是以简单的方式阐明我们在PaddyPower中最常用的概念。 什么是HornetQ HornetQ是JMS实现。 JMS是一种面向消息的中间件API&am…

riot.js教程【四】Mixins、HTML内嵌表达式

前文回顾riot.js教程【三】访问DOM元素、使用jquery、mount输入参数、riotjs标签的生命周期;riot.js教程【二】组件撰写准则、预处理器、标签样式和装配方法;riot.js教程【一】简介; 共享Mixins 混合开发可以使你很好的复用代码,如…

移动端判断手机横竖屏状态

禁用用户自动缩放功能&#xff1a; <meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalable0"> 判断横竖屏状态有两种方法&#xff1a;css判断、js判断 (一)、css判断横屏还是竖屏 1、写在同一个css文…

ubuntu dhcp ping 不通 自己_??2、DHCP安装和配置

DHCP动态主机设置协议&#xff0c;是一个局域网的网络协议&#xff0c;使用UDP协议工作&#xff0c;可以快速分配IP地址&#xff0c;解决内网IP不足、手动配置IP造成IP冲突以及内网机器多手工配置比较麻烦的问题。1.把win2008和win2003设置同一网段&#xff0c;网络适配器—配置…

python秒数变日期_将pandas日期列转换为已用秒数

新答案 将文本转换为Timedeltadf[Origin Time(Local)] pd.to_timedelta(df[Origin Time(Local)]) df[Seconds] df[Origin Time(Local)].dt.total_seconds() 旧答案 考虑数据帧dfdf pd.DataFrame(dict(Datepd.date_range(2017-03-01, 2017-03-02, freq2H))) Date 0 2017-03-0…

mysql用一个表更新另一个表的方法

Solution 1: 修改1列(navicate可行) update student s, city c set s.city_name c.name where s.city_code c.code; Solution 2: 修改多个列 update a, b set a.titleb.title, a.nameb.name where a.idb.id Solution 3: 采用子查询(navicate不可行) update student s set…

选择您的Java EE 6应用服务器

我被问到的第一个问题是&#xff1a;“我们应该使用哪个Java EE应用服务器&#xff1f;”。 随着Java EE 6的日益普及&#xff0c;新的兼容应用程序服务器获得了认证。 当前的官方兼容性和认证矩阵列出了针对完全配置文件&#xff0c;Web配置文件或两者认证的12种不同产品。 如…

串的基本计算

#include<stdio.h> #include<stdlib.h> //typedef int Status; #define Max 20 #define OK 1 #define ERROR 0 #define OVERLOE -2 typedef struct//堆分配表示串 { char *ch; int length; }HString; // int CreatHString(HString &H)//构造字符串 { H.length …

HTML表格属性及简单实例

这里主要总结记录下表格的一些属性和简单的样式&#xff0c;方便以后不时之需。 1、<table> 用来定义HTML的表格&#xff0c;具有本地属性 border 表示边框&#xff0c;border属性的值必须为1或空字符串("")。该属性不会控制边框的样式&#xff0c;而是由CSS来…

怎么查看MySQL 源码编译了什么_Mysql 源码编译教程贴

题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢!如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴环境:OS: CentOS 6.6x64 minimysql: mysql-5.6.251. mysql 下载:http://dev.mysql.com/d…

linux mysql启动_MySQL 安装(二)

MySQL 安装所有平台的Mysql下载地址为&#xff1a;MySQL 下载 . 挑选你需要的 MySQL Community Server 版本及对应的平台。Linux/UNIX上安装MySQLLinux平台上推荐使用RPM包来安装MySQL&#xff0c;MySQL AB提供了以下RPM包的下载地址&#xff1a;MySQL - MySQL服务器。你需要该…

0524驼峰命名法,模态对话框

模态对话框 window.showModalDialog("url"&#xff0c;"向目标对话框传的值"&#xff0c;"窗口特征参数") 打开模态对话框 模态对话框必须关掉才能对后端操作。 模块对话框和窗口的区别是永远置顶。 特征参数&#xff1a;用分号隔开&#xff0c;…

谁在偷你的记忆? 应用服务器版

您创建了一个了不起的应用程序。 您将其投入生产。 您会发现您没有足够的可用内存。 即使您的所有测量结果&#xff08;可能是借助我们的小型公用事业公司进行的测量 &#xff09;都表明您应该还不错。 我们计划发布一系列博客文章&#xff0c;研究堆消失的位置&#xff0c;并…

遗忘的html标签

1 <span>x</span><sup>2</sup><span> y10</span> 2 <br> 3 <span>H</span><sub>2</sub><span>O</span> <sup> 标签可定义上标文本。 包含在 <sup> 标签和其结束标签 …

Android四大组件之BroadcastReceiver

什么是BroadcastReceiver? BroadcastReceiver(广播接收器)&#xff0c;顾名思义&#xff0c;是用来接收广播的。Android内部实现了一套广播通信机制&#xff0c;即在某个应用或某个组件注册广播接收器&#xff0c;接收特定类型的广播。当别的应用或组件发送该类型的广播时&…

mysql数据库索引页号为什么从3开始_MySQL数据库快问快答

原标题&#xff1a;MySQL数据库快问快答前言今天楼主给大家列一下关于数据库几个常见问题的要点&#xff0c;如果大家对其中的问题感兴趣&#xff0c;可以自行扩展研究。1. UNION ALL 与 UNION 的区别UNION和UNION ALL关键字都是将两个结果集合并为一个。UNION在进行表链接后会…

通过简单的Spring方面摆脱null参数

什么是世界上最令人讨厌的&#xff0c;同时也是最受欢迎的例外&#xff1f; 我敢打赌这是NullPointerException。 NullPointerException可以表示任何东西&#xff0c;从简单的“ ups&#xff0c;我认为不能为空”到数小时和数天的第三方库调试&#xff08;我敢于尝试使用Doze…