我从dynamodb表中获取数据,使用python 2.7的boto3,我会使用pandas对数据进行分组和排序。
不幸的是dynamodb的数据格式是相当棘手的。像这样:
data = [{
u 'permaname': {
u 'S': u 'facebook'
},
u 'uuid': {
u 'S': u '4b873085-c995-4ce4-9325-cfc70fcd4040'
},
u 'tags': {
u 'L': []
},
u 'type': {
u 'S': u 'xxxxxx'
},
u 'createdOn': {
u 'N': u '1502099627'
},
u 'source': {
u 'S': u 'xxxxxxx'
},
u 'data': {
u 'NULL': True
},
u 'crawler': {
u 'S': u 'xxxxxxx'
}
}, {
u 'permaname': {
u 'S': u 'facebook'
},
u 'uuid': {
u 'S': u '25381aef-a7db-4b79-b599-89fd060fcf73'
},
u 'tags': {
u 'L': []
},
u 'type': {
u 'S': u 'xxxxxxx'
},
u 'createdOn': {
u 'N': u '1502096901'
},
u 'source': {
u 'S': u 'xxxxxxx'
},
u 'data': {
u 'NULL': True
},
u 'crawler': {
u 'S': u 'xxxxxxx'
}
}]
字符串
要做我的分组和排序的东西,我必须创建一个pandas对象,我不知道如何做。
我就是这么努力的:
obj = pandas.DataFrame(data)
print list(obj.sort_values(['createdOn'],ascending=False).groupby('source'))
型
如果我像这样打印obj:
print list(obj)
型
我有:
[u'crawler',u'createdOn',u'data',u'permaname',u'source',u'tags',u'type',u'uuid']
有人知道如何用dynamodb数据创建dataFrame对象吗?
3条答案
按热度按时间j0pj023g1#
我将尝试用Python 3来回答。
字符串
使用dynamodb_json,如前所述。
型
带输出:
型
mysql(我使用max()来聚合结果)
型
与输出
型
打印列表
型
输出量:
型
希望能帮上忙。
2izufjch2#
要将dynamodb json转换为常规json,您可以使用以下库:
https://github.com/Alonreznik/dynamodb-json
insrf1ej3#
上面的dynamodb-json库对我来说似乎是坏的。利用Pandas和Python3,使用下面的代码可以转换为Excel格式。
字符串
这需要pandas和openpyxl库。对于其他格式,这应该可以转换为它们,比如字典,列表等。