我来找你是因为我无法解决pandas.DataFrame.to_sql()方法的问题。
我已经在我的脚本和数据库之间建立了连接,我可以发送查询,但实际上它对我来说太慢了。
我想找到一种方法来提高我的脚本的性能。也许有人会找到解决方案?
这是我的代码:
engine = sqlalchemy.create_engine(con['sql']['connexion_string'])
conn = engine.connect()
metadata = sqlalchemy.Metadata()
try :
if(con['sql']['strategy'] == 'NEW'):
query = sqlalchemy.Table(con['sql']['table'],metadata).delete()
conn.execute(query)
Sql_to_deploy.to_sql(con['sql']['table'],engine,if_exists='append',index = False,chunksize = 1000,method = 'multi')
elif(con['sql']['strategy'] == 'APPEND'):
Sql_to_deploy.to_sql(con['sql']['table'],engine,if_exists='append',index = False,chunksize = 1000,method = 'multi')
else:
pass
except Exception as e:
print(type(e))
Run Code Online (Sandbox Code Playgroud)
当我退出 chunksize 和方法参数时,它正在工作,而且太慢了,这一刻它太慢了(30000 行几乎需要 3 分钟)。当我输入这些参数时,我得到一个sqlalchemy.exc.ProgrammingError...
感谢您的帮助 !