python – 加速Pandas to_sql()?

我有一个1,000,000 x 50 Pandas DataFrame,我目前正在使用以下方法写入sql表:

df.to_sql(‘my_table’,con,index = False)

这需要非常长的时间.我已经看到了关于如何在线加速这个过程的各种解释,但它们似乎都不适用于MSsql.

>如果我尝试以下方法

Bulk Insert A Pandas DataFrame Using SQLAlchemy

然后我得到一个no属性copy_from错误.
>如果我尝试多线程方法

http://techyoubaji.blogspot.com/2015/10/speed-up-pandas-tosql-with.html

然后我得到一个QueuePool限制大小5溢出10到达,连接超时错误.

有没有简单的方法来加速to_sql()到MSsql表?要么是通过BULK copY还是其他一些方法,而是完全来自Python代码

解决方法:

我已经使用ctds进行批量插入,使用sql服务器的速度要快得多.在下面的示例中,df是pandas DataFrame. DataFrame中的列序列与mydb的架构相同.

import ctds

conn = ctds.connect('server', user='user', password='password', database='mydb')
conn.bulk_insert('table', (df.to_records(index=False).tolist()))

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...