Python 如何将我的csv文件只加载一次到数据库中(flask sqlalchemy)?
我正在使用flask sqlalchemy将数据从csv加载到我的数据库中,并在我的html页面上显示它Python 如何将我的csv文件只加载一次到数据库中(flask sqlalchemy)?,python,csv,flask,flask-sqlalchemy,Python,Csv,Flask,Flask Sqlalchemy,我正在使用flask sqlalchemy将数据从csv加载到我的数据库中,并在我的html页面上显示它 tbperson = Table('tbpersonen', Column('id', Integer, primary_key=True), Column('Name', Integer, nullable=True) with open('Personencsv.csv','r') as csfile: csv_reader = csv.r
tbperson = Table('tbpersonen',
Column('id', Integer, primary_key=True),
Column('Name', Integer, nullable=True)
with open('Personencsv.csv','r') as csfile:
csv_reader = csv.reader(csvfile, delimiter=';')
engine.execute(
insert query,[{"Name" : row[0]})
问题是。每次我实现我的html页面。文件再次加载。然后我有两倍的数据量。
如何只上传一次。
在第一次请求之前,我尝试了@app.,但没有成功。
不知何故,我必须检查我的数据库中是否已存在相同的文件如果为True=>不加载,如何执行此操作?在插入数据之前,您可以删除表(如果存在):
engine.execution_options(isolation_level="AUTOCOMMIT").execute('DROP TABLE IF EXISTS table_name')
我找到了解决方案,如果有人有一天需要,我会把它贴在这里
我只需要检查数据库中是否存在表
if not engine.has_table("table_name"):
`table_name = Table('tbl_name',
Column('id, Integer, primary_key=True),
Column('name', Strin, nullable=True))
`不要将逻辑放在实现html页面的代码中,我想如果数据库是SQLite,您可以一次性导入,而不需要python:@v25我使用的是PostgreSql,但它可以工作。这也会有问题,因为在我将表加载到数据库中之后,我会在html中调用它,并在其上生成CRUD。所以每次我都会删除这个表,我所做的所有修改都会消失。对不起,我的英语不好