在开发的过程中几乎都会遇到上传文件的这类操作,小编第一次的接触的时候也很茫然 于是就去翻阅资料整理了完成了需求,并且把它整理成笔记 供大家一起探讨学习
首先需求是 用户需要批量支付或者批量上传东西的时候需要下载自己平台的模板 填写信息上传文件。
我需要前端传来的文件 首先肯定是post请求。通过请求体传参的。第一件事我们应该获取post中的文件
class Test:
def __init__(self, request,headers)
self.request = request
self.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的文