I have a large-data.csv
:
id,foo,bar,column1,column2
1,"abc",0,"gh",42
2,"xy",1,"bla",1337
and an SQLAlchemy model:
class Asset(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
abc = db.Column(db.String)
foo = db.Column(db.String) # not in CSV
bar = db.Column(db.Boolean)
column1 = db.Column(db.String)
column2 = db.Column(db.Integer)
How can I read the CSV into the database?
Setting things up
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__, template_folder='templates')
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class Asset(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
abc = db.Column(db.String)
foo = db.Column(db.String) # not in CSV
bar = db.Column(db.Boolean)
column1 = db.Column(db.String)
column2 = db.Column(db.Integer)
db.create_all()