Попытка парсинга даты JSON в POST в другую систему (Python)

Я пытаюсь написать скрипт для получения данных проекта от Insightly и опубликовать в 10000ft. По сути, я хочу взять любой недавно созданный проект в одной системе и создать тот же экземпляр в другой системе. У обоих есть понятие "Проект"

Я чрезвычайно новичок в этом, но мне нужно только ПОЛУЧИТЬ некоторые параметры проекта в Insightly, чтобы передать их в другую систему (PROJECT_NAME, LINKS:ORGANIZATION_ID, DATE_CREATED_UTC), чтобы назвать несколько.

Я планирую добавить логику только к POST-проектам с DATE_CREATED_UTC > вчера, но я не знаю, как настроить скрипт для захвата строк JSON и создания переменных Python (строка даты JSON - дата / время). Вот мой текущий код. Я просто распечатываю некоторые переменные, которые мне нужны, чтобы освоиться с кодом.

import urllib, urllib2, json, requests, pprint, dateutil
from dateutil import parser
import base64


#Set the 'Project' URL
insightly_url = 'https://api.insight.ly/v2.1/projects'
insightly_key = 
api_auth = base64.b64encode(insightly_key)


headers = {
                'GET': insightly_url,
                'Authorization': 'Basic ' + api_auth

                }
req = urllib2.Request(insightly_url, None, headers)

response = urllib2.urlopen(req).read()

data = json.loads(response)
for project in data:
    project_date = project['DATE_CREATED_UTC']
    project_name = project['PROJECT_NAME']
    print project_name + " " + project_date

Любая помощь будет оценена

Редактирование:

Я обновил предыдущий код следующим:

for project in data:
    project_date = datetime.datetime.strptime(project['DATE_CREATED_UTC'], '%Y-%m-%d %H:%M:%S').date()
    if project_date > (datetime.date.today() - datetime.timedelta(days=1)):
        print project_date
    else:
        print 'No New Project'

Это возвращает каждый проект, созданный после вчерашнего дня, но теперь мне нужно изолировать эти проекты и опубликовать их в другой системе.

1 ответ

Вот пример возврата datetime объект из проанализированной строки. Мы будем использовать datetime.strptime метод для достижения этой цели. Вот список кодов формата, которые вы можете использовать для создания строки формата.

>>> from datetime import datetime
>>> date_string = '2014-03-04 22:30:55'
>>> format = '%Y-%m-%d %H:%M:%S'
>>> datetime.strptime(date_string, format)
datetime.datetime(2014, 3, 4, 22, 30, 55)

Как видите, datetime.strptime метод возвращает datetime объект.

Другие вопросы по тегам