我们可以在 PUBNUB 中重新发布消息吗

Can we republish messages in PUBNUB

我有一种情况可以从 python 获取数据,所以我只能通过 python 发布。我需要可视化这些数据,所以我需要通过 JavaScript 订阅频道。我的可视化库 C3.js 仅将数据转换为以下格式:

message: {
      columns: [
        ['x', volume],
        ['y', timetamp]
      ]
    }

要在 python 中获取这样的数据对我来说很难。一个更简单的解决方案是通过 JavaScript 订阅并再次将数据重新发布为我想要的格式。我的问题是,是否可以在 PUBNUB 中执行此操作,如果可以,我是否需要将数据发布到另一个频道或同一个频道就可以了?

我的python代码是:

for each in data:
    y = each.counter_volume
    x = each.timestamp
    pubnub.publish(channel='orbit_channel', message=y)

我想要的输出是

    message: {
             "columns": [
   ["x", "2015-07-06T13:26:19", "2015-07-06T13:26:19","2015-07-06T13:26:19"],
   ["y", 5000.0, 5000.0, 5000.0]
]
}

To get my data like this in python is difficult for me.

该格式是 JSON,数据可以在 Python 中很容易地序列化成这种格式,试试 json 模块:

import json
from time import gmtime, strftime

now = str(strftime("%Y-%m-%dT%H:%M:%S", gmtime()))
n = 5000.0

message = {"columns": [["x", now, now, now], ["y", n, n, n]]}
print "message: " + json.dumps(message, indent=4, separators=(',', ': '))

输出:

message: {
    "columns": [
        [
            "x",
            "2015-07-16T12:56:47",
            "2015-07-16T12:56:47",
            "2015-07-16T12:56:47"
        ],
        [
            "y",
            5000.0,
            5000.0,
            5000.0
        ]
    ]
}

也许以预期的方式提供这样的数据在您的 JS 文件中更容易处理?