Использование строки replace () для получения значения из результата запроса к БД приводит к проблемам - PullRequest
0 голосов
/ 21 января 2019

Я запрашиваю БД и хочу проверить вывод.Результат из БД поступает следующим образом -> (('ABC',),), и я хочу проверить его с помощью строки 'ABC', но я не могу из-за дополнительных символов, полученных в моем выводе из БД.

Может кто-нибудь помочь мнес тем, как удалить дополнительные символы, которые поступают в качестве выходных данных из БД?

Я пытался использовать функцию Evaluate:

Evaluate   '(('ABC',),)'.replace('(',' ')   

Мне нужен результат как просто ABC.

1 Ответ

0 голосов
/ 21 января 2019

Не делайте этого - обрабатывайте ответ как строку и пытайтесь вывести ваши данные с помощью замены строки.

Ответ - это объект - список кортежей, на самом деле он выглядит так:

[('ABC',),]

Каждый кортеж в списке является строкой ответа;каждый член кортежа является столбцом в этой строке.

Чтобы получить первый столбец первой строки, достаточно просто обратиться к ним (их индексы начинаются с 0):

${value}=    Set Variable    ${the response object}[0][0]

Если, например, запрос возвращает 3 строки, каждая с 2 столбцами:

[('ABC', 'DEF'), ('GHI', 'JKL'), ('MNO', 'PQR')]

, вы получите 3-й столбец (индекс: 2) 2-й столбец (индекс: 1) - строку 'PQR'- с этим:

${value}=    Set Variable    ${the response object}[2][1]

Теперь я надеюсь, вы понимаете, почему использование замены строки (вместо строкового представления двумерного списка) не является хорошей идеей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...