Escape + Цитата в Python - PullRequest
       1

Escape + Цитата в Python

0 голосов
/ 30 апреля 2019

То, что я пытаюсь сделать, это поместить escape-символ в строку python. Позвольте мне объяснить.

Я получил строку

str = 'station and the "Tren Bach"'

Этот str затем форматируется в большой запрос 'SQL', в результате чего malformed exception из-за двойной кавычки в середине "Трен Бах".

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

str = str.replace ('"', '\"')
sql.format(str)

Но в строке sql escape не было.

Во-вторых, я пытался,

str = str.replace ('"', '\\"')
sql.format (str)

Но в этот момент в sql было показано двойное побег.

Ожидается следующее:

str = 'station and the \"Tren Bach\"'

Чтобы str не создавало проблем в выражении sql.

Вы бы порекомендовали другой способ?

1 Ответ

0 голосов
/ 30 апреля 2019

BigQuery использует , немного отличающийся от , чем стандартный SQL. Вам нужны кавычки вокруг значения с кавычками в запросе, аналогично Python. E.g.:

s = '''SELECT ... WHERE my_field='station and the "Tren Bach"' '''
#               note quotes here ^                  and here ^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...