【问题标题】:Google Place API Json data with python使用 python 的 Google Place API Json 数据
【发布时间】:2020-05-28 22:44:14
【问题描述】:

更新: 经过数小时的反复试验。

我能够将我的 google Places API json 称为返回数据并将其缩减为我可以解析的列表。这很可能不是最好的方法。我知道必须直接从第一个json数据返回中获取数据??????

这是我从 google api json 数据中获取回报的代码。我采用它并减少字段并将我想要的字段纳入候选名单。)

shortlist = [] # 列表

结果是来自 google api 调用的 json 数据。

用于places_result['results']:

#define 我的位置 ID

my_place_id = place['place_id']

#define the fields we want sent back to us
my_fields = ['name', 'formatted_phone_number', 'type']

#make a request for the details  drop some fields
place_details = gmaps.place(place_id = my_place_id, fields = my_fields) 

#save 结果在列表中的循环之外 shortlist.append(place_details) # 是一个列表

候选名单数据示例:

入围数据:只需 2 个列表项即可查看格式:

{'html_attributions': [], 'result': {'formatted_phone_number': '(760) 864-9900', 'name': 'Palm Greens Cafe', 'types': ['cafe', 'restaurant ', '食物', 'point_of_interest', '商店', '机构']}, '状态': 'OK'} {'html_attributions': [], 'result': {'formatted_phone_number': '(760) 459-4555', 'name': 'Townie Bagels |面包店 |咖啡馆','类型':['面包店','grocery_or_supermarket','咖啡馆','餐厅','食物','point_of_interest','商店','建立']},'状态':'OK'}

我可以从候选名单中获取我在这个循环中需要的字段

####作品短结果列表

我 = 0 对于候选名单中的 x: 尝试: find_name = 候选名单[i]['result']['name'] 打印(查找名称) i = i+1

except(KeyError):
    print('name error')
    i= i+1
    continue
#

for 循环的输出:

棕榈绿咖啡厅 小镇百吉饼 |面包店 |咖啡店 星巴克储备 麦当劳 茉莉咖啡厅 科菲南棕榈泉 星巴克 MidMod 咖啡厅 格雷咖啡馆和艺术画廊 Vinny's 意大利冰、冷冻蛋奶冻 + 冰淇淋、冰淇淋等 工作室咖啡厅 碎蛋黄咖啡馆棕榈泉 里斯特雷托 半岛糕点棕榈泉 卡米洛特国际咖啡厅 里克餐厅和面包店 星巴克 瑞士甜甜圈 星巴克 星巴克

我花了 2 天的时间终于拿到了这个票价。如果有更简化的方式来做这件事,只是想要建议?

在这篇文章之前的回复中,我无法获得建议的示例。

感谢您的帮助。 比尔.

【问题讨论】:

  • 你能用你正在使用的代码更新这个吗?具体你有什么问题吗?

标签: python json google-cloud-platform google-places-api


【解决方案1】:
  1. 根据您使用的库,它可能已经在为您解析数据并将其放入 .json 字段中。否则,如果它不适合你,你确实需要使用json.loads

  2. 不确定您的意思 — 大多数时候,您会访问数据中的特定字段,例如:data.json['result']['name']

    如果您想要字典中的所有名称:值对,您可以使用:for name, value in data.json['result'].items()

【讨论】:

  • 谢谢。 .只是用json重新学习python。所以学习曲线......目前。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-08
  • 1970-01-01
相关资源
最近更新 更多