小编jor*_*zel的帖子

Python:flask-sqlalchemy 使用 csv 作为源填充表,而不列出表的每一列

我想首先声明,我知道这个网站上有很多类似的问题,并且解决方案确实有效,我的问题是,至少我能找到的问题都是这样的变体:

\n
from flask_sqlalchemy import SQLAlchemy\ndb = SQLAlchemy(app)\nclass Example(db.Model):\n    id = db.Column(db.Integer, primary_key=True)\n    Column1 = db.Column(db.String(100))\n    Column2 = db.Column(db.String(100))\n    Column3 = db.Column(db.String(100))\n\nimport csv\n\nwith open("source_file.csv") as f:\n    reader = csv.reader(f)\n    next(reader)\n    for i in reader:\n        new_entry = Example(\n        Column1 = i[0],\n        Column2 = i[1],\n        Column3 = i[2])\n        db.session.add(new_entry)\n        db.session.commit()\n\n
Run Code Online (Sandbox Code Playgroud)\n

这是可行的,但它有几个问题,例如,如果相关表有 n 个列,我需要编写 nx2 行,一次用于定义表,第二次用于填充表的内容。

\n

这对于小表来说还算可以,但如果您正在使用具有 100 多个列的表,这会变得非常快。 \n此外,如果由于某种原因表结构发生了一点点变化,就无法维护。

\n

因此,我\xe2\x80\x99m 寻求帮助以获得更好的方法,如果这仍然是一个重复的问题,我深表歉意并仅寻求指导,我找到了解决方案,但仅适用于 SQLAlchemy,当我尝试时它们不起作用它们在 FlaskSQlAlchemy 中。

\n

python csv flask flask-sqlalchemy

2
推荐指数
1
解决办法
1227
查看次数

标签 统计

csv ×1

flask ×1

flask-sqlalchemy ×1

python ×1