提问人:Philip Mutua 提问时间:5/23/2019 更新时间:5/23/2019 访问量:710
如何处理读取、提取和保存具有 Angular 客户端和 Django 服务器的超大 csv 或 excel 数据
How to handle reading, extracting & saving extremely large csv or excel data having an Angular client and a Django server
问:
我已经实现了一个后端功能,可以上传 CSV 或 excel 文件,然后服务器(Django API)将读取所有数据并将其保存到数据库中,但我觉得这不是最好的方法,并希望获得建议 关于这个。
我不明白为什么服务器需要读取和验证 CSV 文件,而客户端(Angular 应用程序)可以完成这项工作。客户端可以读取验证文件并将数据发送到服务器。
然后,服务器将执行其余的工作,将数据保存到数据库中。但是我想到了,假设文件包含一百万个条目,这意味着服务器端点将添加一百万个项目。这将导致性能问题。处理这个问题的最佳方法是什么?
答:
0赞
Zwepp
5/23/2019
#1
我实现了一个 Angular/Python 应用程序,可以处理大型 Excel 文件,即使有多个工作表,最好的方法是让客户端将文件上传到服务器,然后您的服务器完成其余的工作。
处理可能需要大量时间,因此可能需要将文件保存到临时位置,并将其作为作业异步处理。此作业将读取您的文件,处理每一行并将数据保存到数据库。或者,它还可以将进度和作业状态保存到数据库中,因此,您甚至可以让客户端在给定作业 ID 的情况下跟踪处理进度。
评论