gpt4 book ai didi

python - 使用 sqlalchemy python 将 JSON 数据导入 SQL

转载 作者:太空宇宙 更新时间:2023-11-04 05:16:57 25 4
gpt4 key购买 nike

所以我有一组 JSON 文件,想使用 sqlalchemy 将它们导入我的 sqlite 数据库。

我的想法是:

  1. 用所有变量名在python中声明一个类:

    class Designs(Base):
    __tablename__='designs'
    __table_args__ = {'sqlite_autoincrement': True}
    design_name= Column(String(80),nullable=False,primary_key=True)
    user_name= Column(String(80),nullable=False,primary_key=True)
    rev_tag= Column(String(80),nullable=False,primary_key=True)
    ...... much more variables.....
  2. 读取JSON(使用python json包,一一存储)

    import json
    data = json.load(open('xxx.json'))
    for key, value in data.iteritems():
    store it in the sql database

但是如果我的 JSON 文件非常大,在类中声明所有变量似乎非常麻烦且难以维护,因为我打算进一步扩大我的 JSON 文件。

有没有更好的办法

最佳答案

Sqlalchemy 提供了一个 mapping除了您显示的声明性界面之外的界面。您可以使用它以编程方式添加列。

metadata = MetaData()

# This tuple of columns could be generated programmaticly
columns = (
Column('design_name', String(80), primary_key=True),
Column('user_name', String(80), nullable=False),
Column('rev_tag', String(80), nullable=False),
...
)

designs = Table('designs', metadata, *columns)

class Designs(object):
def __init__(self, json_data):
for key, value in data.iteritems():
setattr(self, key, value)

mapper(Designs, designs)

关于python - 使用 sqlalchemy python 将 JSON 数据导入 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41453938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com