Python从pandas datafram使用sqlalchemy写入sqlserver数据库

2024-09-27 21:27:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大约300000行(20mb)的pandas数据帧,并想写入一个sqlserver数据库。在

我有下面的代码,但执行起来非常慢。想知道有没有更好的方法?在

import pandas
import sqlalchemy

engine = sqlalchemy.create_engine('mssql+pyodbc://rea-eqx-dwpb/BIWorkArea? 
driver=SQL+Server')

df.to_sql(name='LeadGen Imps&Clicks', con=engine, schema='BIWorkArea', 
if_exists='replace', index=False)

Tags: 数据方法代码import数据库pandassqlalchemycreate
1条回答
网友
1楼 · 发布于 2024-09-27 21:27:13

如果要加快写入sql数据库的过程,可以按pandasDataFrame的数据类型在数据库中设置表的数据类型

from sqlalchemy import types, create_engine
d={}
for k,v in zip(df.dtypes.index,df.dtypes):
    if v=='object':
       d[k]=types.VARCHAR(df[k].str.len().max())
    elif v=='float64':
       d[k]=types.FLOAT(126)
    elif v=='int64':
       d[k] = types.INTEGER()

那么

^{pr2}$

相关问题 更多 >

    热门问题