【发布时间】:2018-06-25 12:14:28
【问题描述】:
如何使用 Flask-SQLAlchemy 将 .txt 文件中的数百万行或行插入 SQLite3 数据库?我尝试只从 .txt 文件中读取一行,然后循环添加和提交它们,但注意到这需要花费大量时间。我怎样才能有效地做到这一点?我尝试在我的代码中实现这个解决方案https://stackoverflow.com/a/7137270,但无法让它工作。
表架构如下所示:
class table(db.Model):
id = db.Column(db.Integer, primary_key=True)
col1 = db.Column(db.Integer)
col2 = db.Column(db.Integer)
col3 = db.Column(db.String(50))
col4 = db.Column(db.String(50))
col5 = db.Column(db.String(50))
col6 = db.Column(db.Integer)
col7 = db.Column(db.String(50))
col8 = db.Column(db.Integer)
col9 = db.Column(db.Integer)
col10 = db.Column(db.Integer)
col11 = db.Column(db.Integer)
col12 = db.Column(db.Integer)
.txtfile 中的行如下所示:
hjk;28770930;Y;T;C;;asd;;1;1233;1233;0.00081103
大约有 85M 行要添加到数据库中。
【问题讨论】:
-
只需删除所有那些
commit()调用,并在最后执行一个commit()。 -
@CL。我也试过这个,但它运行了一个多小时并且没有达到提交。
标签: python python-3.x flask sqlite flask-sqlalchemy