2012-01-12 99 views
2

我有一个很大的CSV文件(5.4GB)数据。这是一个有6列很多行的桌子。我想通过几个表将它导入到MySQL中。此外,我必须在导入之前对数据进行一些转换(例如,解析单元格,并将这些部分输入到多个表值等中)。现在我可以做一个脚本进行转换,并一次插入一行,但这需要几周才能导入数据。我知道有MySQL的LOAD DATA INFILE,但我不确定如何或如果我可以在SQL中执行所需的转换。使用Django和转换将大型CSV文件加载到MySQL

任何建议如何进行?

回答

2

在我有限的经验,你不会想要使用Django的ORM这样的事情。它会太慢。我会使用Python的csv库编写一个Python脚本来操作CSV文件。然后使用本地MySQL工具LOAD DATA INFILE加载数据。

如果用于处理CSV文件的Python脚本太慢,可以考虑使用C或C++编写该部分,假设您可以找到适合这些语言的体面的CSV库。

+0

是的,我想这是首选的方式。感谢您的建议。 – 2012-01-13 13:18:34