|
Python Экранировать спецсимволы
|
|||
---|---|---|---|
#18+
Всех приветствую! Помогите, пожалуйста, новичку. Есть задача получать из облака (через предоставляемое api) запросами GET данные (в формате json) и заливать их в базу Postgresql. Некоторые текстовые значения содержат спецсимволы, в частности, \xa0 (пробел не из ASCII). Для передачи в таблицу (формат поля json) использую json_populate_recordset. Так вот Python, разбирая sql-команду, находит в текстовых данных эти спецсимволы, интерпретирует их, а не передаёт в таблицу, в результате чего жалуется на синтаксис. Можно как-то экранировать спецсимволы в переменной, содержащей данные? Или как-то по-другому решить вопрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 12:50 |
|
Python Экранировать спецсимволы
|
|||
---|---|---|---|
#18+
На счет экранирования не скажу, но можете до записи в БД заменить все нужные\не нужные последовательности символов в переменной. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 15:51 |
|
Python Экранировать спецсимволы
|
|||
---|---|---|---|
#18+
Guzya, есть хороший метод в добавлении r перед строкой, например, r'\xa0' возвращает '\\xa0', т.е. именно то, что надо. Но метод, насколько я знаю, работает с прямым указанием значения, а вот как "натравить" r на переменную? Ещё можно импортировать модуль re и заменить через sub , но там надо прописывать каждый спецсимвол, хотелось что-то универсальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2018, 16:04 |
|
|
start [/forum/topic.php?fid=23&msg=39717740&tid=1460134]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
others: | 333ms |
total: | 442ms |
0 / 0 |