有没有一种方法可以使用python词典在数据库中创建表?

时间:2020-03-05 20:41:02

标签: python sqlalchemy

我有一个大型的项目词典-约400列。我有一个脚本来检测和创建每个项目的类型,所以我有{'age'= INT,“ Name” = String等。)但是我不确定如何使用它在SQLAlchemy中创建表或直接创建查询?

我正在使用postgres,但我熟悉mysql和sqlite,因此任何适用于我的用例都可以应用于我的用例。

1 个答案:

答案 0 :(得分:1)

那呢:

from sqlalchemy import create_engine, Table, Column, MetaData
metadata = MetaData()
fields = (Column(colname, coltype) for colname, coltype in your_dict.items())
t = Table(name, metadata, *fields)
engine = create_engine(database)
metadata.create_all(engine)

您需要拥有sqlalchemy.sql.sqltypes中的对象,而不是字符串作为your_dict中的值:

from sqlalchemy.sql.sqltypes import String, Integer

有关整个列表,请参见https://docs.sqlalchemy.org/en/13/core/type_basics.html