Python 为图形分析Pymongo中断查询结果

Python 为图形分析Pymongo中断查询结果,python,mongodb,pymongo,spyder,Python,Mongodb,Pymongo,Spyder,我有以下python代码来从MongoDB返回所需的数据 Data = db.dataset.aggregate([{ "$unwind": "$Records" }, { "$unwind": "$Records.Properties" }, { "$match": { "Records.Properties.Property.Name": 'Data' } }, { "$project": { "_id": 0,

我有以下python代码来从MongoDB返回所需的数据

Data = db.dataset.aggregate([{
    "$unwind": "$Records"
}, {
    "$unwind": "$Records.Properties"
}, {
    "$match": {
        "Records.Properties.Property.Name": 'Data'
    }
}, {
    "$project": {
        "_id": 0,
        "value": "$Records.Properties.value"
    }
}])

timestamp = dataset.find({"Records.Properties.Property.Name":'Data'},{"timestamp":1,"_id":0})

Print Data

for a in timestamp:
   print a
这给了我以下结果

  {u'ok': 1.0, u'waitedMS': 0L, u'result': [{u'value': u'-0,04149,-0,03866,-0,02914,-0,02319,-0,02027,-0,00234,0,00‌​564,0,01269,0,02852,‌​0,04648,0,05709,0,06‌​261,0,07325,0,08223,‌​0,08665,0,09229,0,09‌​688,0,09754,'}, {u'value': u'0,00218,0,00257,0,00232,0,00329,0,00279,0,00348,0,00322,0,‌​00313,0,00252,0,0031‌​1,0,00347,0,00278,0,‌​00309,0,00304,0,0038‌​2,0,00351,0,00119,0,‌​00277,0,00307'}]}

{u'timestamp': datetime.datetime(2016, 8, 24, 14, 59, 4)} 
{u'timestamp': datetime.datetime(2016, 8, 21, 5, 59, 7)}
我已经在这上面混了两年了——我知道这应该很简单。我想分解数据,这样我就可以用第一组值放置第一个时间戳,用第二组值放置第二个时间戳

此外,我还试图分解这些值集,以便使用它们构建一个与时间的条形图(0.01s por cada值),(每个“0,xxxx”是一个数字)


非常感谢您抽出时间,非常感谢您的帮助。这些是结果列表、字符串还是其他什么?任何帮助都会很棒。

因为pymongo的结果是以某种格式的,为了检索数据,您需要使用data['result']来提取数据

for a in Data['result'][:1]:      #only print the first result in the list
    #print a['value']


    span = 2
datas = a['value'].split(",")
Data_list = [".".join(datas[i:i+span]) for i in range(0, len(datas), span)]

for a in Data_list:
    print a
然后,为了使数据可用于图形目的,需要使用“float”将字符串转换为值

T2 = map(float, Data_list)
然后简单地绘制它

import numpy as np
import matplotlib.pyplot as plt

num = len(Data_list)
print num
x = np.arange(0,num,1)
print 'Time (s)',x

plt.plot(x, T2)
plt.show()
当我对数据中的i使用'y=[i.split('\t',1)[0]时,它会打印'ok waitedMS result'