python - 如何仅一次将我的 csv 文件加载到我的数据库中(flask-sqlalchemy)?
问题描述
我正在使用烧瓶 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.before_first_request
了,但我没有工作。如果 True => 不加载,我必须以某种方式检查我的数据库中是否已经存在同一个文件,该怎么做?
解决方案
在插入数据之前,您可以删除表(如果存在):
engine.execution_options(isolation_level="AUTOCOMMIT").execute('DROP TABLE IF EXISTS table_name')
推荐阅读
- php - PHP新手;为什么我收到 500 错误?
- plot - 在 QGIS 中上传 CSV 没有意义
- code-search-engine - 如何跟踪 Hound 的使用情况
- php - 通过 PHP / cURL 发送 Base64 数据导致语音到文本只返回一个空的 json 字符串?
- ios - 在 App Store 上传期间删除的 iOS 权利
- sql - 如何在 SQL Server 中使用 LTRIM 和 RTRIM 修剪除 1 之外的前导零?
- javascript - 删除隐藏的 iframe:Angular 5
- python - 将 str() 函数获得的字符串转换回列表
- javascript - 如何在多个异步调用中向 NodeJS 中的数据库发送响应?
- android - 我的原生广告高级(统一)ID 在哪里?