python - 如何使用python提高sql数据库的写入速度

标签 python python-3.x pandas sqlalchemy pyodbc

我正在尝试找到一种更好的方法来使用 python 将数据推送到 sql 数据库。我努力了 dataframe.to_sql() 方法和 cursor.fast_executemany() 但他们似乎并没有提高我现在正在使用的数据的速度(数据位于 csv 文件中)。有人建议我可以使用命名元组生成器来加载数据,速度比 pandas 快得多。

[一般csv文件大小至少为1GB,推送一个文件大约需要10-17分钟]

我对 python 的许多概念都相当陌生,所以请建议一些方法或至少引用任何显示任何信息的文章。提前致谢

最佳答案

如果您尝试将 csv 按原样插入数据库(即不在 pandas 中进行任何处理),您可以使用 python 中的 sqlalchemy 来执行“批量插入 [参数、文件等]”。或者,我发现可以选择读取 csv、处理、写入 csv,然后批量插入。

否则,请随意指定更多您想要完成的任务、在插入数据库之前需要如何处理数据等。

关于python - 如何使用python提高sql数据库的写入速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55852550/

相关文章:

python - Python 方法签名中的 ->(破折号大于箭头符号)是什么意思?

python - 如何计算包含一组列中的值和 Pandas 数据框中另一列中的另一个值的行数?

python - 通过 pandas 中的唯一列将 2 个数据框列添加到列

python - ipython 笔记本和脚本的区别 - 加载 DLL

python - 从 .txt 文件中删除重复项并创建新的 .txt 文件

python - 具有可变宽度元素的堆​​积条形图?

python - pandas 中的条件计算

Python 异常 :"TypeError: main() got an unexpected keyword argument ' debug'"但 IFF 模块是通过 Windows XP SP2 上的 scheduledTask 运行的

python - sys.stdout.write\r回车,如何覆盖所有字符?

python - 将数据帧写入 tex 文件时删除索引