gpt4 book ai didi

python - 在 Sqlite3 中存储字典的字典

转载 作者:行者123 更新时间:2023-12-02 00:58:12 25 4
gpt4 key购买 nike

假设我有一个字典到另一个字典,比如-

dict={ 'Prem': { 'age' : '23' , 'sex': 'male' } , 'Sameer' : { 'age' : '22' , 'sex' : 'male'} }

.我们如何将其存储到 Sqlite3 数据库中?

最佳答案

关系数据存储在表中。你没有说内部字典是否总是具有相同的结构,所以为了这个答案的目的,我假设它们有。

在这些情况下,最简单的方法是定义一个包含三列的表,我称之为nameagesex。定义看起来像

CREATE TABLE t(
name VARCHAR(20),
age INTEGER,
sex CHAR(1))

输入示例数据的程序如下所示:

import sqlite3
mydict={'Prem': { 'age': '23' , 'sex': 'male' },
'Sameer' : { 'age': '22' , 'sex': 'male'}
} # reformatted to `PEP008` standard, renamed

conn = sqlite3.connect("/tmp/db") # creates a new file if necessary
curs = conn.curs()
for k in mydict:
curs.execute("""INSERT INTO t (name, age, sex)
VALUES (?, ?, ?)""",
(k, mydict[k]['age'], mydict[k]['sex'])
conn.commit()

这遍历 mydict 的键(我重命名它是因为 dict 是内置类型的名称)并将键插入为 name 以及来自内部字典的 agesex 的值。

commit() 调用非常重要 - 它使数据库更改永久化!

关于python - 在 Sqlite3 中存储字典的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32044733/

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