gpt4 book ai didi

python - 使用 % 字典格式化多行字符串

转载 作者:行者123 更新时间:2023-11-28 19:26:44 25 4
gpt4 key购买 nike

我有一个多行字符串(大型 mysql 查询),我想用这样的字典(数据)格式化它:

query = """
INSERT LOW_PRIORITY INTO goods(id, type, volume, strength,
country, price, description, year, image, url, class, color,
grape, vintage, dryness, shop, added)
VALUES (
'%(id)s',
'%(type)s',
'%(volume)s',
%(strength)d,
'%(country)s',
%(price)d,
'%(description)s',
'%(year)s',
'%(image)s',
'%(url)s',
'%(class)s',
'%(color)s',
'%(grape)s',
%(vintage)d,
'%(dryness)s',
'%(shop)s',
'%(added)s'
) ON DUPLICATE KEY UPDATE
type = '%(type)s',
volume = '%(volume)s',
strength = %(strength)d,
country = '%(country)s',
price = %(price)d,
description = '%(description)s',
year = '%(year)s',
image = '%(image)s',
url = '%(url)s',
class = '%(class)s',
color = '%(color)s',
grape = '%(grape)s',
vintage = %(vintage)d,
dryness = '%(dryness)s',
shop = '%(shop)s',
added = '%(added)s""" % data

当我尝试执行此操作时,我没有收到任何错误,但我的字符串消失了。有什么办法可以解决这个任务吗?

更新:我发现了问题。我试图用我的字典的 unicode 值格式化 ascii 字符串。由于 try/except block ,我没有看到回溯,从中调用了我的查询执行方法。 故事的寓意是:始终检查 Python 2.x 中的字符串编码

最佳答案

我怀疑您的数据字典缺少一些键。

例如:

In [1]: "%(xx)s" % dict()
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/<redacted>/<ipython-input-1-475612d1eaa2> in <module>()
----> 1 "%(xx)s" % dict()

KeyError: 'xx'

关于python - 使用 % 字典格式化多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9227540/

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