我有一个 python 脚本将数据帧推送到 Azure SQL DB,运行良好。我现在使用一台新计算机,我必须更新 python 和使用的软件包,例如 sqlalchemy 等
现在,脚本正在执行,但是对于将数据帧数据推送到 SQL 表的部分来说,速度非常慢,我什至尝试了 pyspark 并得到了相同的结果,导致此问题的原因是什么,这里是代码:
con_str = (
'Driver={ODBC Driver 17 for SQL Server};'
'SERVER=myserver.database.windows.net;'
'Database=mydb;'
'UID=myuserid;'
'PWD=mypw;'
'Trusted_Connection=no;'
)
# create engine
connection_uri = f'mssql+pyodbc:///?odbc_connect={urllib.parse.quote_plus(con_str)}'
engine = sa.create_engine(connection_uri, fast_executemany=True)
conn_sa=engine.connect()
df_projects_2.to_sql("WfProjects", engine, schema="wf", if_exists="append", index=False)
这就是我解决问题的方法:
1-使用旧计算机上的 python freeze 保存了requirements.txt中的所有包
2-在新系统中创建新的虚拟环境
3-在新的虚拟环境中安装相同的python(旧版本)
4-使用requirements.txt安装所有软件包