我有一个使用 mysql 数据库后端运行的 django 站点。我接受其中一位管理员用户上传的相当大的数据,以批量导入一些数据。数据的格式与数据库中所需的格式略有不同,因此我需要进行一些解析。
我希望能够将此数据转换为 csv 并将其写入 cStringIO 对象,然后只需使用 mysql 的批量导入命令来加载该文件。我宁愿先跳过将文件写入磁盘,但我似乎找不到解决方法。我过去基本上用 postgresql 做过同样的事情,但不幸的是这个项目是在 mysql 上的。
简而言之:我可以使用内存中的文件(如对象)并以某种方式使用 mysql 批量导入操作
最佳答案
有一个很棒的教程,名为 Generator Tricks for Systems Programmers它解决了处理大型日志文件的问题,这与您的情况类似,但不完全相同。只要您可以通过仅访问流中当前(也可能是以前)的数据来执行所需的转换,这可能适合您。
我在许多答案中都提到了这个 gem ,因为我认为它引入了一种非常有值(value)的不同思维方式。有一个姊妹篇,A Curious Course on Coroutines and Concurrency ,这可能会严重扭曲你的头。
关于python - MySql 批量导入,无需将文件写入磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6525010/