gpt4 book ai didi

python - 从 ordereddict 格式化我的 sql-insert 语句时,数据只有 1 个字符,而不是 ordereddict 的键/值

转载 作者:行者123 更新时间:2023-11-29 07:33:20 25 4
gpt4 key购买 nike

我正在尝试向 mysql 中插入一个有序的字典,但我认为我遗漏了一个简单的项目。

sql_command = """CREATE TABLE asdf ( id INTEGER PRIMARY KEY, description TEXT(100), data_value TEXT(100));"""
cursor.execute(sql_command)
for id, p in enumerate(info):
format_str = """INSERT INTO asdf (id, description, data_value) VALUES ({id}, '{description}', '{data_value}');"""
sql_command = format_str.format(id=id, description=p[0], data_value=p[1])
print(sql_command)

这实际上完成了我想要的 95% 然而,出于某种原因,它只打印第一个“项目”的前两个字母,所以如果“信息”是下面的数据

OrderedDict([('name', 'bob'), ('favorite food', 'pizza')])

它打印出以下内容

INSERT INTO asdf (id, description, data_value) VALUES (0, 'n', 'a');
INSERT INTO asdf (id, description, data_value) VALUES (1, 'f', 'a');

但我希望它打印以下内容

INSERT INTO asdf (id, description, data_value) VALUES (0, 'name', 'bob');
INSERT INTO asdf (id, description, data_value) VALUES (1, 'favorite food', 'pizza');

想法?

最佳答案

你手头有一本字典,enumerate() 给你字典的 index,key,而不是字典的值。

for id, p in enumerate(info):
format_str = """INSERT INTO asdf (id, description, data_value) VALUES ({id}, '{description}', '{data_value}');"""

# here are changes
sql_command = format_str.format(id=id, description=p, data_value=info[p])

应该修复它。

您的索引 p[0] 是您的 key 的第一个字符,p[1] 是第二个字符。
将其替换为 p(完整键)和 info[p](值的字典访问)。

关于python - 从 ordereddict 格式化我的 sql-insert 语句时,数据只有 1 个字符,而不是 ordereddict 的键/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50070410/

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