Python 如何将我的csv文件只加载一次到数据库中(flask sqlalchemy)?

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

我正在使用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.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。所以每次我都会删除这个表,我所做的所有修改都会消失。对不起,我的英语不好