2015-07-01 1 views
-5

Я борюсь с этим в течение довольно продолжительного времени, может кто-нибудь объяснить решение этой проблемыкак формат JSON, чтобы соответствовать схемы для EON Pubnub диаграмм библиотеки

if i = {'x': 123, 'y': 456} {'x': 675, 'y': 098} 

превратить его в

message: { 
     columns: [ 
     ["x": 123, "y": "456"], 
     ["x": 675, "y": 098] 
     ] 

Больше Insights:

у меня есть следующая структура данных

[<OldSample {u'counter_name': u'cpu_util', u'user_id': u'id', u'resource_id': u'id', u'timestamp': u'2015-06-30T15:53:55', u'counter_volume': 0.043}] 

мне нужно сделать что-то вроде этого, чтобы поставить в EON pubnub графиков libaray (ссылка: http://www.pubnub.com/developers/eon/chart/spline/)

message: { 
     columns: [ 
     ["y": 0.043, "x": "2015-06-30T15:53:55"], 
     ["y": 0.045, "x": "2015-06-30T15:53:55"] 
     ] 

Теперь у меня есть следующий код

def get_clean_Json(data): 
    for each in data: 
    timestamp = each.timestamp 
    volume = each.counter_volume 
    i = {'x': timestamp, 'y': volume} 
    print i 

который возвращает результаты, как это

{'x': 123, 'y': 456} {'x': 675, 'y': 098} 

и я застрял здесь, независимо от того, что я делаю, я получаю ошибки

+0

Обеспечить больше понимания – The6thSense

+10

Ни то, что вы, кажется, говорят, что вы есть, не то, что вы говорите, что вы хотите, действительны синтаксис Python. Попробуйте исправить свой вопрос, чтобы показать достоверные структуры данных Python, и кто-то может ответить. – Duncan

+0

Должен ли я быть списком словарей и потерять if? –

ответ

0

Список concat в python - это всего лишь []+[], но, похоже, это то, что вы ищете. Что вы на самом деле ищете здесь, как отформатировать JSON в соответствии с схемой, которую требует EON.

(Это одна из причин, почему вы были downvoted несколько раз! Поэтому убедитесь, чтобы задать правильный вопрос!)

Попробуйте

coords = [] 
def get_clean_Json(data): 
    for each in data: 
    timestamp = each.timestamp 
    volume = each.counter_volume 
    i = {'x': timestamp, 'y': volume} 
    coords.append(i) 
get_clean_Json(your_data) 
message = { 
    columns : coords 
} 
+0

Я пробовал аналогичное решение раньше, но он не возвращает ни одного, попробовал код выше, а также выдает столбцы ошибок: coords NameError: имя «столбцы» не определено – Imo

+0

Благодарим вас за предложение по исправлению вопроса, полностью согласен. Я на самом деле схожу с ума, пытаясь решить эту проблему. – Imo

1

В качестве альтернативы вы можете опубликовать данные EON в любом формате с заднего конца и преобразовать его на переднем конце с помощью javascript. См transform параметр здесь: https://github.com/pubnub/eon-chart#quickstart

И пример здесь:

https://github.com/pubnub/eon-chart/blob/master/examples/transform.html

+0

Я на самом деле получаю данные через API-интерфейс openstack python, поэтому я хочу публиковать эти данные через python, что облегчает мне работу. – Imo