gpt4 book ai didi

csv - 使用 SQLalchemy 读取大文件

转载 作者:行者123 更新时间:2023-12-04 18:23:01 26 4
gpt4 key购买 nike

我正在尝试使用 SQLalchemy 读取 200 MB 的 csv 文件。每行大约有 30 列,其中,我使用下面的代码只使用了 8 列。但是,代码运行速度真的很慢!有没有办法改善这一点?我想使用 map /列表理解或其他技术。正如你所说,我是新手。谢谢你的帮助。

for ddata in dread:        
record = DailyData()
record.set_campaign_params(pdata) #Pdata is assigned in the previous step
record.set_daily_data(ddata) #data is sent to a class method where only 8 of 30 items in the list are used
session.add(record)
session.commit() #writing to the SQL database.

最佳答案

不要在每条记录上都提交。提交或每 1000 次左右刷新一次:

for i, data in enumerate(csv_stuff):
rec = MyORMObject()
rec.set_stuff(data)
session.add(rec)
if i % 1000 == 0:
session.flush()
session.commit() # flushes everything remaining + commits

如果这仍然给您带来问题,请进行一些基本分析,请参阅我在 How can I profile a SQLAlchemy powered application? 上的帖子

关于csv - 使用 SQLalchemy 读取大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10256169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com