Добавить несколько значений в массив - PullRequest
0 голосов
/ 19 марта 2019

'Я пытаюсь получить данные о сделках из Hubspot, я пытаюсь получить в этом примере dealid и название сделки, чтобы упростить вопрос, но позже я добавлю больше свойств. У меня есть следующий код, который дает мне массив dealIds и один массив имен сделок. Я мог бы сделать так, чтобы вместо нескольких массивов я получал следующее:

{{12345,'deal1'}, {12346,'deal2'}, {12347,'deal3'}}

или что-то вроде:

{{'dealId': 12345, 'dealname' : 'deal1'}}

Это мой код:

deals = []
names = []

def getdeals():
    apikey = "demo"
    url = 'https://api.hubapi.com/deals/v1/deal/paged?hapikey='+apikey+'&properties=dealname&limit=250'
    response = requests.get(url)
    jsonDeals = response.json()

    for deal in jsonDeals['deals']:
       properties = deal['properties']
       deals.append(deal['dealId'])
       names.append(properties['dealname']['value'])

Ответы [ 3 ]

1 голос
/ 19 марта 2019

У вас уже есть данные в формате json.Это просто, как вы хотите отобразить и сохранить его.

output={}
def getdeals():
    apikey = "demo"
    url = 'https://api.hubapi.com/deals/v1/deal/paged?hapikey='+apikey+'&properties=dealname&limit=250'
    response = requests.get(url)
    jsonDeals = response.json()

    for deal in jsonDeals['deals']:
       properties = deal['properties']
       output.update({deal['dealId']: properties['dealname']['value']})
1 голос
/ 19 марта 2019

Это может быть решено с использованием списка понимания:

[{'dealId':deal['dealId'],'dealname':deal['properties']['dealname']['value']} for deal in jsonDeals['deals']]
0 голосов
/ 19 марта 2019

AS E.Serra предложила deal_obj = {'dealname': properties ['dealname'] ['value'], 'dealid': deal ['dealId']} решил проблему.

вот обновленный код:

%%time
deals = []

def getdeals():
    apikey = "demo"
    url = 'https://api.hubapi.com/deals/v1/deal/paged?hapikey='+apikey+'&properties=dealname&limit=250'
    response = requests.get(url)
    jsonDeals = response.json()

    for deal in jsonDeals['deals']:
       properties = deal['properties']
       deal_obj = {'dealname': properties['dealname']['value'], 'dealid':deal['dealId']}
       deals.append(deal_obj)
...