python to sql_python – 加速Pandas to_sql()?

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

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

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

>如果我尝试以下方法:

然后我得到一个no属性copy_from错误.

>如果我尝试多线程方法:

然后我得到一个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()))

标签:python,import,sql,pandas,performance

来源: https://codeday.me/bug/20190519/1133921.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值