2012-01-12 96 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