如何处理读取、提取和保存具有 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 应用程序)可以完成这项工作。客户端可以读取验证文件并将数据发送到服务器。

然后服务器将完成剩下的工作,将数据保存到数据库中。但我想到了,假设文件包含一百万个条目,这意味着服务器端点将添加一百万个项目。这将导致性能问题。处理此问题的最佳方法是什么?

我实现了一个 Angular/Python 应用程序来处理大型 Excel 文件,即使有多个工作表也是如此,最好的方法是让客户端将文件上传到服务器,然后由您的服务器完成剩下的工作这份工作。

处理可能需要很长时间,因此您可能需要将文件保存到临时位置并将其作为作业异步处理。此作业将读取您的文件,处理每一行并将数据保存到数据库中。可选地,它还可以将进度和作业状态保存到数据库中,因此,您甚至可以让客户端根据作业 ID 跟踪处理进度。