Использование пользовательских переменных ввода в PandaSQL

Я пытаюсь использовать pandaSQL на имеющемся у меня фрейме данных, и мне интересно, есть ли способ использовать переменные или есть другой способ сделать это. Я пытаюсь установить пользовательский ввод как переменную и затем попытаться использовать это в операторе SQL. Я хочу отобразить каждый экземпляр этой формы при вводе. Я пытаюсь что-то вроде:

variable1 = input("Enter shape here: ")
print pysqldf("SELECT imageNum FROM df WHERE shape1 = variable1 ")

но пока не повезло. Все остальное работает нормально, у меня просто возникают проблемы при вводе переменных. Возможно ли это в pandaSQL, и если нет, какие обходные пути можно использовать?

1 ответ

Вам нужно будет пройти WHERE предложение в запросе SQL аргумент в кавычках, то есть:

ВЫБЕРИТЕ imageNum ОТ df WHERE shape1 = "квадрат".

Поэтому вам нужно будет передать строку, содержащую кавычки. Попробуйте следующее:

variable1 = input ("Введите форму здесь:")

variable1str = "\" "+ variable1 +" \ ""

print pysqldf ("ВЫБЕРИТЕ imageNum ОТ df WHERE shape1 = variable1str ")

Таким образом, если ваш вклад, скажем, "square":

переменная печати1
`> квадрат

печать variable1str
'> "квадрат"

Другие вопросы по тегам