本篇文章小编给大家分享一下Django上传xlsx文件直接转化为DataFrame或直接保存代码方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
使用Django框架搭建后端服务器,后台接收前端传递过来xlsx的文件,直接将前端传递的文件转化为DataFrame或直接将文件保存。
urls.py
from django.urls import path from . import views # 为 URL 名称添加命名空间 app_name = 'report' urlpatterns = [ # 上传报告 path('/upload_report/', views.upload_report, name='upload_report'), ]
view.py
def handle_uploaded_file(file, path): """ 保存上传的文件 :param file: 上传的文件 :param path: 存储路径(包含文件名) :return: """ with open(path, 'wb+') as destination: # 将文件分块 for chunk in file.chunks(): # 写文件 destination.write(chunk) def upload_report(request): """ 上传报表 :param request: :return: """ # 获取文件 file = request.FILES.get('file') # 报告存储路径 path = 'reports/' + file.name # 1.直接转化为DataFrame file_df = pandas.read_excel(file) # 数据处理 # DataFrame保存为xlsx file_df.to_excel(path, index=False, header=None, float_format='%.2f') # 2。直接保存上传的文件 handle_uploaded_file(request.FILES['file'], path) return JsonResponse({'reports': 1})