如何解决从熊猫到SQL:插入许多记录最佳做法
我正在寻找有关最佳实践的建议,以将我在Pandas数据框中拥有的大量记录插入SQL Server数据库。我的工作正常,但是我注意到,每当我运行Python脚本时,服务器上的处理使用率就会达到99%。从系统资源来看,Python正在消耗其中的大部分资源。 Pythong和SQL Server在同一框上运行(Windows 2016)。
我希望有人能给我一些有关如何更好地实现这一点的建议。
这是我的代码:
from sqlalchemy import create_engine
import pyodbc
import pandas as pd
iterator = pd.read_csv('large_file.csv',encoding='utf-8',iterator=True,chunksize = 1000)
df = pd.concat([chunk[chunk.active == True] for chunk in iterator])
# At this point the Dataframe DF has several million rows.
engine = create_engine(‘mssql+pyodbc://server_name/database_name?driver=SQL Server?Trusted_Connection=yes’)
df.to_sql('myTable',con=engine,if_exists='append',index=False,chunksize=1000)
我测试过,问题不是在读取大文件时出现,虽然需要一段时间,但是资源使用率很低。当SQL插入过程开始时,处理能力将达到顶峰。
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。