在开发的过程中几乎都会遇到上传文件的这类操作,小编第一次的接触的时候也很茫然 于是就去翻阅资料整理了完成了需求,并且把它整理成笔记 供大家一起探讨学习

首先需求是 用户需要批量支付或者批量上传东西的时候需要下载自己平台的模板 填写信息上传文件。

我需要前端传来的文件 首先肯定是post请求。通过请求体传参的。第一件事我们应该获取post中的文件

class Test:def __init__(self, request,headers)self.request = requestself.headers =[文件里面标题字段]  # 这里的self.headers可以根据前端文件传来的标题自定义 最好不要写死def parse(self):self.fp = self.request.FILES.get("file")if fp is None:raise AbortRequest("请先选择文件再点击上传")content = self.fp.read()———返回的是字符串字节流

然后读出来文件的内容 再用 xlrd.open_workbook 进行解析。把用 read() 读取出来的不知道什么意义的数据(字符串或者字节流)交给 xlrd.open_workbook 的 file_contents 参数传入,就会被 xlrd 模块帮你转换成有结构的数据,比如一个个列表套着列表。

# 打开文件读取数据
data = xlrd.open_workbook(file_contents=content)
# 通过索引顺序获取
sheet = data.sheet_by_index(0)

如果有文件格式的要求 比如说要求文件是xls 或者xlsx的文件

然后可以查看行数

nrows = sheet.nrows———变量.nrows 查看行数 变量.row_values() 获取第几行内容
headers = []
for item in sheet.row_values(0):headers.append(item)if headers != self.headers:raise AbortRequest("导入数据标题行和模板不相同")
if nrows <= row:raise AbortRequest("请填写内容后再上传")
# 循环excel表内的内容
for index in range(row, nrows):# 查看获取第几行内容item = sheet.row_values(index)results.append(item)
return results

【Python、文件】Python解析上传文件相关推荐

  1. python向windows服务器上传文件(夹)

    python向windows服务器上传文件(夹) 本人需求分析: 需要从本地将某个指定目录下的文件夹上传至服务器的某个指定目录下. 这次思路是采用python的 paramiko 库.paramiko ...

  2. Confluence wiki上传文件时报“不能上传文件至Confluence中,服务器可能已失效”

    Confluence wiki 上传文件时报"不能上传文件至Confluence中,服务器可能已失效"的解决方法. 一. 后台管理修改配置 首先用管理员登陆Confluence后台 ...

  3. vue+elementui 同时有上传文件和批量上传文件功能,上传文件或批量上传文件后必须刷新才能再次上传文件

    报错描述: 使用element-ui的上传文件组件写一个批量上传和上传文件,但是发现每次上传文件后或者批量上传文件后,不能再次上传文件或者批量上传文件.只有进入页面第一次点击上传文件或者批量上传文件才 ...

  4. linux上传文件命令ftp put,Linux ftp 命令行中下载文件get与上传文件put的命令应用详解...

    介绍:从本地以用户anok登录的机器192.168.0.16上通过ftp远程登录到192.168.0.6的ftp服务器上,登录用户名是peo.以下为使用该连接做的实验. 查看远程ftp服务器上用户pe ...

  5. linux get与put,科技常识:Linux ftp 命令行中下载文件get与上传文件put的命令应用详解...

    今天小编跟大家讲解下有关Linux ftp 命令行中下载文件get与上传文件put的命令应用详解 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Linux ftp 命令行中下载文件get与 ...

  6. linux上传文件put,详解Linux ftp 命令行中下载文件get与上传文件put的操作方法

    尽管现在有许多好的FTP应用程序,但服务器命令行ftp命令的应用程序仍然很多,下面就让电脑乐园小编带你一起来学习详解Linux ftp 命令行中下载文件get与上传文件put的操作方法. 介绍:从本地 ...

  7. springboot调用python脚本_Springboot实现上传文件接口,使用python的requests进行组装报文上传文件的方法...

    记录瞬间 近段时间使用Springboot实现了文件的上传服务,但是在使用python的requests进行post上传时,总是报错. 比如: 1.Current request is not a m ...

  8. python requests 上传文件_Python requests上传文件实现步骤

    工作中涉及到一个功能,需要上传附件到一个接口,接口参数如下: 使用http post提交附件 multipart/form-data 格式,url : http://test.com/flow/upl ...

  9. Python flask使用ajax上传文件

    目录 前言 JS Form的enctype属性 Input MIME类型(更多直接百度,类型超乎你的想想) 上传单个文件 html代码部分 javascript代码部分 flask 视图函数部分 上传 ...

最新文章

  1. Cisco交换机与路由器的密码恢复_路由交换
  2. 一个即将步入运维的菜虫内心
  3. Golang slice 的底层实现
  4. 计算机一级2016版本ms,2016计算机等级一级《MS Office》试题与答案
  5. DataGridView实现多维表头
  6. winsocket(1)
  7. abb工业机器人指令lf怎么用_工业机器人十万个怎么办-不清楚机器人MoveL直线运动指令怎么办?...
  8. 查看和修改mysql数据库编码
  9. win10自学c语言用什么软件,VC++6.0软件安装使用(win10可用),送给需要学c语言的你...
  10. 学会编单片机必须会c语言吗,十天学会单片机和C语言编程.docx
  11. 量子计算机是一种采用基于原理,量子计算的发展
  12. 钛资本研究院:保险科技行业现状及趋势分析
  13. Notepad++软件安装教程
  14. 【实时语音转文本】PC端实时语音转文本(麦克风外音系统内部音源)
  15. 5.6版本GTID复制异常处理一例(转)
  16. Wallpaper Engine壁纸提取
  17. IE 浏览器 判断 增加 支持 IE8 IE9 IE10 IE11等 IE浏览器(是不是IE浏览器判断)
  18. Android实现拨打电话
  19. 一般总账科目 调整 为统驭科目时报错:只以本位币计的统驭科目余额未定义
  20. python 3.0 实现多级反馈队列进程调度算法

热门文章

  1. 如何用java实现每天给家人说晚安!!!
  2. 【ChatGPT|AI 应用】如何用 ChatGPT 快速制作思维导图
  3. 3dmax使用K帧工具创建一个行走动作
  4. 卫龙上市酿成资本惨剧:CPE损失上亿美元 高瓴浮亏5000万美元
  5. 编译原理3 - 词法分析
  6. 【企业微信营销】如何通过Linkflow实现企业微信社群自动拉新
  7. [宅男阅片必备手册] 成人志向IT日语
  8. java毕业设计电子竞技赛事管理系统Mybatis+系统+数据库+调试部署
  9. locate简介及用法
  10. 存储过程的创建和使用实例