【发布时间】:2020-01-06 00:11:49
【问题描述】:
我需要将 Google Cloud Datastore 查询结果转换为数据框,以根据检索到的数据创建图表。查询:
def fetch_times(limit):
start_date = '2019-10-08'
end_date = '2019-10-19'
query = datastore_client.query(kind='ParticleEvent')
query.add_filter(
'published_at', '>', start_date)
query.add_filter(
'published_at', '<', end_date)
query.order = ['-published_at']
times = query.fetch(limit=limit)
return times
为查询返回的每个实体创建一个类似 json 的字符串:
- Entity('ParticleEvent', 5942717456580608) {'gc_pub_sub_id': '438169950283983', 'data': '605', 'event': '光强度', 'published_at': '2019-10-11T14:37: 45.407Z', 'device_id': 'e00fce6847be7713698287a1'}>
我以为我找到了可以转换为 json 的东西,我可以将其转换为数据框,但是得到一个错误,即 properties 属性不存在:
def to_json(gql_object):
result = []
for item in gql_object:
result.append(dict([(p, getattr(item, p)) for p in item.properties()]))
return json.dumps(result, cls=JSONEncoder)
有没有办法遍历查询结果以将它们直接转换为数据帧或转换为 json 然后转换为数据帧?
【问题讨论】:
-
Here 是一个类似的帖子,可以帮助你。这个是给fetch JSON from Datastore
-
您能否在控制台打印什么是项目和整个 gql_object,以便提供解决方案?
标签: python json pandas google-app-engine google-cloud-platform