gpt4 book ai didi

三引号内的 Python 参数

转载 作者:行者123 更新时间:2023-11-29 04:00:23 24 4
gpt4 key购买 nike

我有一个包含 sql 查询的 python 脚本。为了格式化目的,我在 sql 查询周围使用了三重引号。我想将从命令行填充的变量注入(inject)到查询中。我怎样才能在保留三重引号的同时做到这一点。有没有更好的方法来绕过三重引号?

例如:

AGE = raw_input("Enter your age: ")

vdf = vertica.select_dataframe("""
Select
col1
col2
coln
FROM
TableX
WHERE
col2 IN (21, 22, AGE)
Group BY 1
""")

最佳答案

令我惊讶的是,神奇的 % 运算符没有被提及,Python 构建的字符串格式只需稍加修改即可使您的原始行工作:

AGE = raw_input("Enter your age: ")

vdf = vertica.select_dataframe("""
Select
col1,
col2,
coln
FROM
TableX
WHERE
col2 IN (21, 22, %s)
Group BY 1
""" % AGE)

这也适用于具有多个参数的查询:

AGE = raw_input("Enter your age: ")
GENDER = raw_input("Enter your gender (m/f): ")
HEIGHT = raw_input("Enter your height in cm: ")

vdf = vertica.select_dataframe("""
INSERT INTO stats (
age,
gender,
height
)
VALUES
(
'%s',
'%s',
'%s'
)
""" % ( AGE, GENDER, HEIGHT ))

关于三引号内的 Python 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29336414/

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