【问题标题】:Append multiple values in a array在数组中追加多个值
【发布时间】:2019-03-19 14:02:07
【问题描述】:

'我正在尝试从 Hubspot 获取交易数据,我正在尝试在此示例中获取交易 ID 和交易名称以简化问题,但稍后我将提供更多属性。我有以下代码,它为我提供了一组交易 ID 和一组交易名称。我可以让我得到以下而不是多个数组:

{{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'])

【问题讨论】:

  • 你已经在 json 中有这些东西了。如果您想要交易名称交易 id,只需执行 deal_obj = {'dealname': properties['dealname']['value'], 'dealid':deal['dealId']}。但我没有看到要点
  • jsonDeals 是什么样的?应该值得将它们添加到描述中,以便我们更好地了解如何帮助格式化 JSON 响应

标签: python hubspot hubspot-crm


【解决方案1】:

您已经拥有 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']})

【讨论】:

    【解决方案2】:

    这可以使用列表推导解决:

    [{'dealId':deal['dealId'],'dealname':deal['properties']['dealname']['value']} for deal in jsonDeals['deals']]
    

    【讨论】:

      【解决方案3】:

      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)
      

      【讨论】:

        猜你喜欢
        • 2015-02-15
        • 2015-09-15
        • 2017-10-21
        • 2018-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-03
        相关资源
        最近更新 更多