gpt4 book ai didi

python - MySQL高效导入大数据列表

转载 作者:行者123 更新时间:2023-11-29 15:34:19 24 4
gpt4 key购买 nike

我对 SQL 没有那么丰富的经验,我想知道是否有更有效的方法来完成我正在做的事情。

我使用 python 和 SQLAlchemy 将非常大的数据集从 csv 导入到 SQL 表。我只想导入 csv 中的某些列,因此我创建了一个从 csv 中获取列名称的函数,然后创建了另一个函数来过滤掉我不需要的列(方便的是,我不需要的列位于列列表的末尾)。然后,我使用 for 循环生成 INSERT INTO 命令,并通过附加列名(它们在 csv 和 sql 表中相同)和读取器中每行的值来执行它。即:

row1: INSERT INTO table (c1, c2, c3) VALUES (v1, v2, v3)
row2: INSERT INTO table (c1, c2, c3) VALUES (v4, v5, v6)
row3: INSERT INTO table (c1, c2, c3) VALUES (v7, v8, v9)

我的 csv 文件有大约 15k 行,所以你可以想象这需要相当长的时间。

有没有办法合并查询,以便插入这些值需要更短的时间?

最佳答案

如果可以获取服务器上的数据LOAD DATA INFILE can parse CSV 。如果没有,use multi-insert .

第一种方法速度更快,但如果文件直接位于 MySQL 服务器本身上,LOAD DATA INFILE 效果最佳。您可以启用LOCAL模式。

关于python - MySQL高效导入大数据列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58403672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com