【问题标题】:Google Datastore Client Parsing in PythonPython 中的 Google Datastore 客户端解析
【发布时间】:2018-08-20 16:52:27
【问题描述】:

我希望在使用 Python 解析从 Google DataStore 客户端检索到的数据方面获得一些帮助。

我需要创建一个进程,在该进程中我必须解析从数据存储中获取的一些数据。我目前正在调用通过此方法检索数据:https://cloud.google.com/datastore/docs/concepts/entities#retrieving_an_entity

如果我要打印返回的内容,我会得到以下信息:

<Entity(u'Example', u'1000') {u'some_data': True, u'some_more_data': False}>

如果可以向我展示如何最好地解析 Dict 中返回的信息的示例,我将不胜感激,这样我就可以在 For Each 循环中获取每个属性及其值。即:

'some_data': True

感谢您的宝贵时间, 约旦

【问题讨论】:

    标签: python parsing google-cloud-platform google-cloud-datastore


    【解决方案1】:

    在 Python 中,可以像访问对象属性一样访问属性。

    例如,在您检索实体后:

    key = client.key("yourkey")
    example = client.get(key)
    

    您可以通过名称访问其属性并使用它们

    print "'some_data': " + example.some_data
    print "'some_more_data': " + example.some_more_data
    

    要获取实体属性的列表,请使用 instance_properties() 方法:

    for property in example.instance_properties():
        value = getattr(example, property)
    

    阅读更多:https://www.safaribooksonline.com/library/view/programming-google-app/9780596157517/ch04s06.html

    【讨论】:

    • 感谢 Neri,不幸的是,我尝试了它并没有解决我的问题。但是,我找到了一个可行的解决方案,我已将其作为问题的答案发布!
    【解决方案2】:

    我设法找到了一个可行的解决方案。

    from google.cloud import datastore
    
    datastore_client = datastore.Client()
    
    def parse_example_list():
        kind = 'Kind'
        name = 'Name'
        key = datastore_client.key(kind, name)
        returned_entity = datastore_client.get(key)
    
        property_list = {}
    
        for p in returned_entity.items():
            property_list[p[0]] = p[1]
    
        return property_list
    

    这会返回:

    {u'my_first_property': u'My Propertys Value'}
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2017-04-13
      • 2018-07-27
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      相关资源
      最近更新 更多