Как заменить определенный символ в значении словаря Python - PullRequest
0 голосов
/ 12 октября 2019

Я создаю элемент словаря python из цикла json response, но я хотел бы заменить некоторые символы в значении словаря, так как у меня есть возвращаемое значение datetime, но это значение содержит нежелательные символы.

Например, мой словарь для ответа на дату и время возвращает пару ключей значения «create_at»: «2019-10-11T23: 57: 34Z». Я хотел бы заменить символ «T» и символ «Z» в ответе пробелом вместо «T» и ничего для «Z».

Вот мой код, который генерирует ticket_searchсловарь:

ticket_search = []
   url = 'https://myzendeskinstance.zendesk.com/api/v2/search.json? 
   query=type:ticket created>2019-10-11'
   while url:
      response = session.get(url)
      if response.status_code != 200:
         print('Error with status code {}'.format(response.status_code))
         exit()
   data = response.json()
   ticket_search.extend(data['results'])
   url = data['next_page']

ticketsearch [create_at] возвращает значение «2019-10-11T23: 57: 34Z» (просто пример выходной строки), где я бы хотел, чтобы оно было «2019-10-11 23: 57: 34 '

Ответы [ 2 ]

1 голос
/ 12 октября 2019
import datetime
ticketsearch= "2019-10-11T23:57:34Z"
response= datetime.datetime.strptime(f'{ticketsearch}', '%Y-%m-%dT%H:%M:%SZ')
new_Date = response .strftime('%Y-%m-%d %H:%M:%S')
0 голосов
/ 12 октября 2019

Я считаю, что это может быть достигнуто многими способами, такими как:

1:

response = "2019-10-11T23:57:34Z"
response = response.replace('T', ' ')
response = response.replace('Z', '')
# output: 2019-10-11 23:57:34

2:

response = "2019-10-11T23:57:34Z"
avoidList = ['T', 'Z']

for char in response:
    if char in avoidList:
        response = (response.replace(char, ' ').strip())
# output: 2019-10-11 23:57:34
...