Я работаю над слабаком.У меня есть файл JSON и код Python, который выводит что-то ослабить на основе ввода пользователя.Существует команда поиска, которая выводит результаты поиска из файла json.Текущий вывод не форматируется, потому что когда значения берутся из json, они добавляются в список, а затем возвращаются в основную программу python.
Я попытался создать цикл, который бы анализировал результаты поиска и вырубал их так, чтобы каждый набор значений был отдельным, а затем добавлялся в список, который можно отформатировать.Цикл, который я пробовал, на самом деле не работает, и я не очень уверен, как правильно создать цикл, который я могу использовать для форматирования вывода.Я также попытался отформатировать вывод с использованием format (), но он не работает, потому что это список.
Это пример текущего результата поиска.
if command.startswith(SEARCH):
try:
search = search_data(command.split(' ')[1])
response = search
except KeyError:
response = 'This search key does not exist.'
except TypeError:
response = 'Wrong search input'
Это пример команды поиска, которую я импортирую из другого скрипта Python:
def search_data(keyword):
result = []
for key, value in data.items():
first = value['first']
last = value['last']
if keyword in first:
result.append(value)
elif keyword in last:
result.append(value)
return result
Это пример JSON:
{
"1": {
"id": "1",
"first": "Joe",
"last": "Adam"
},
"2": {
"id": "2",
"first": "Mary",
"last": "Smith"
},
"3": {
"id": "3",
"first": "Ann",
"last": "John"
}
}
У меня есть другаявывод, который я форматирую с использованием этой строки кода, и я хочу отформатировать вывод списка таким же образом.
response = '*ID:* {}\n *First:* {}\n *Last:*
{}\n\n'.format(search['id'],search['first'],search['last'])
Ожидаемый вывод для пользователя, чтобы ввести поиск в Slack, используя Slackbot.Пользователь может ввести «поиск J», например, и выходные данные перечисляют соответствующий набор значений, которые имеют J в «первом» или «последнем» значениях.Мой текущий вывод выглядит примерно так:
[{"id":"1","first":"Joe","last":"Adam"},
{"id":"2","first":"Ann","last":"John"}]
, но я хочу отформатировать его как:
ID: 1
First: Joe
Last: Adam
ID: 2
First: Ann
Last: John