当前位置 博文首页 > Django上传xlsx文件直接转化为DataFrame或直接保存的方法

    Django上传xlsx文件直接转化为DataFrame或直接保存的方法

    作者:这个人懒得名字都没写 时间:2021-06-09 17:44

    使用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})
    js
    下一篇:没有了