【问题标题】:Loading large CSV file to MySQL with Django and transformations使用 Django 和转换将大型 CSV 文件加载到 MySQL
【发布时间】:2012-01-12 18:06:53
【问题描述】:

我有一个大的 CSV 文件 (5.4GB) 数据。这是一张有 6 列很多行的表格。我想跨多个表将其导入 MySQL。此外,我必须在导入之前对数据进行一些转换(例如,解析一个单元格,并将这些部分输入到几个表值中等)。现在我可以做一个脚本进行转换并一次插入一行,但导入数据需要数周时间。我知道 MySQL 有 LOAD DATA INFILE,但我不确定如何或是否可以在 SQL 中进行所需的转换。

有什么建议吗?

【问题讨论】:

    标签: mysql django csv import


    【解决方案1】:

    根据我有限的经验,您不会希望将 Django ORM 用于此类事情。这将太慢了。我会编写一个 Python 脚本来操作 CSV 文件,使用 Python 的 csv 库。然后使用原生 MySQL 工具LOAD DATA INFILE 加载数据。

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

    【讨论】:

    • 是的,我想这是首选方式。感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2015-05-19
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 2022-11-08
    相关资源
    最近更新 更多