2016-02-25 51 views
1

我正在爲如何從一個json轉換爲一個Series圖表的highstock數組格式而煩惱。在angularjs控制器中將pandas json轉換爲highstock數據格式

在我的代碼做如下:

df2.reset_index().to_json(orient='records') 

這導致這個(例如):

[{"date":1456185600000,"adj_close":94.69}, 
{"date":1456099200000,"adj_close":96.88}, 
{"date":1455840000000,"adj_close":96.04}, 
{"date":1455753600000,"adj_close":96.26}] 

然後我得到的JSON在我的angularjs控制器作爲對象的陣列,我不知道如何變換到highstock格式,此例如:

[ 
[1456185600000, 94.69], 
[1456099200000, 96.88], 
[1455840000000, 96.04], 
[1455753600000, 96.26], 
] 

什麼SH我應該做這個轉換嗎?

+1

喜TKS的幫助;)是的,我已經更新的例子爲一個,我這裏有,其實正確的分隔符是「」,TKS! – tubadc

回答

1
d = [{"date":1456185600000,"adj_close":94.69}, 
{"date":1456099200000,"adj_close":96.88}, 
{"date":1455840000000,"adj_close":96.04}, 
{"date":1455753600000,"adj_close":96.26}] 

然後像這樣

[[di['date'], di['adj_close']] for di in d] 

列表理解爲您提供了所需的輸出:

[[1456185600000, 94.69], 
[1456099200000, 96.88], 
[1455840000000, 96.04], 
[1455753600000, 96.26]] 
1

您可以使用Array.map()方法來格式化對象:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

var objectArray = [ 
 
    {"date":1456185600000,"adj_close":94.69}, 
 
    {"date":1456099200000,"adj_close":96.88}, 
 
    {"date":1455840000000,"adj_close":96.04}, 
 
    {"date":1455753600000,"adj_close":96.26}] 
 

 
var highStockSeries = objectArray.map(function(object){ 
 
    return [object.date, object.adj_close] 
 
}) 
 

 
console.log(highStockSeries)
<div id="result">look in the JS console for your array</div>