代码之家  ›  专栏  ›  技术社区  ›  Py.Jordan

python中的google数据存储客户端解析

  •  0
  • Py.Jordan  · 技术社区  · 6 年前

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

    我需要创建一个过程,在这个过程中我必须解析从数据存储中获取的一些数据。我当前正在通过此方法调用以检索数据: 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
    

    谢谢你的时间, 乔丹

    2 回复  |  直到 6 年前
        1
  •  1
  •   Neri    6 年前

    在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

        2
  •  0
  •   Py.Jordan    6 年前

    我设法想出了一个可行的解决方案。

    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'}
    

    希望这有帮助!