gpt4 book ai didi

python - 使用 f-string 的查询格式

转载 作者:行者123 更新时间:2023-11-28 23:21:51 24 4
gpt4 key购买 nike

我有一个非常大的字典,我想插入到 MySQL 表中。字典键是表中的列名。我现在正在构建我的查询:

bigd = {'k1':'v1', 'k2':10}
cols = str(bigd.keys()).strip('[]')
vals = str(bigd.values()).strip('[]')
query = "INSERT INTO table ({}) values ({})".format(cols,vals)
print query

输出:

"INSERT INTO table ('k2', 'k1') values (10, 'v1')"

这在 Python2.7 中有效

但是在 Python 3.6 中,如果我使用这样的字符串文字:

query = f"INSERT INTO table ({cols}) values ({vals})"
print(query)

它打印这个:

"INSERT INTO table (dict_keys(['k1', 'k2'])) values (dict_values(['v1', 10]))"

有什么建议吗?

最佳答案

出于好奇,您应该意识到您已将这些转换为 str,从而将 dict_keys/values 的表示形式插入到 f-字符串

你可以转换为元组然后插入:

cols = tuple(bigd.keys())
vals = tuple(bigd.values())
q = f"INSERT INTO table {cols} values {vals}"

但是,正如评论指出的那样,这不是一种安全的方法。

关于python - 使用 f-string 的查询格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41210488/

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