【问题标题】:how to format JSON to fit the schema for EON Pubnub charting Library如何格式化 JSON 以适应 EON Pubnub 图表库的架构
【发布时间】:2015-09-18 15:52:26
【问题描述】:

我已经为此苦苦挣扎了很长一段时间,有人可以解释一下这个问题的解决方案

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

把它变成

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

更多见解:

我有以下数据结构

[<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 charting 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}

我被困在这里,无论我做什么都会出错

【问题讨论】:

  • 提供更多见解
  • 您似乎在说您拥有的东西和您说的您想要的东西都不是有效的 Python 语法。尝试修复您的问题以显示有效的 Python 数据结构,也许有人能够回答。
  • 应该 i 是一个字典列表并丢失 if 吗?
  • 请提供一个可运行的示例以及您现在得到的结果,并以有效的 Python 语法提供预期的输出。
  • @PaulRooney 也许可以,但没有真正的方法可以从中看出他们想要什么作为目标数据结构。

标签: python list concatenation pubnub


【解决方案1】:

作为替代方案,您可以从后端以任何格式发布 EON 数据,并在前端使用 javascript 对其进行转换。请参阅此处的 transform 参数: https://github.com/pubnub/eon-chart#quickstart

这里有一个例子:

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

【讨论】:

  • 我实际上是通过 openstack python API 获取数据,这就是为什么我想通过 python 发布这些数据,这对我来说更容易。
【解决方案2】:

python 中的列表 concat 只是 []+[],但似乎这不是你要找的。 您在这里实际寻求的是如何格式化您的 JSON 以适应 EON 所需的架构。

(这是您多次被否决的原因之一!所以请务必提出正确的问题!)

试试

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
}

【讨论】:

  • 我之前尝试过类似的解决方案,但它没有返回,尝试了上面的代码,它也抛出了错误列:coords NameError: name 'columns' is not defined
  • 感谢您提出更正问题的建议,完全同意。我实际上正在努力解决这个问题。
猜你喜欢
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多