2017-08-28 35 views
-1

我正在做一個API的調用和我找回看起來像這樣的迴應:Python的 - 讓CSV與定義頁眉/ JSON從響應頁腳

'[{"time": 1477612800', ' "close": 5000', ' "high": 5000', ' "low": 
2100', ' "open": 2100', ' "volumefrom": 0.08311', ' "volumeto": 
414.42}', ' {"time": 1477699200', ' "close": 4000', ' "high": 30000', ' 
"low": 4000', ' "open": 12001', ' "volumefrom": 9.88', ' "volumeto": 
46066.49}', ...]' 

我要的是做一個CSV每行都是'時間'值,列將是其餘值(關閉,開放,高,低)。

我很迷茫,我發現的大部分資源都假設我的數據以不同的格式發回。我會如何去做這件事?

+1

您必須將JSON轉換爲表格數據結構(表或數據框大熊貓的列表),然後該數據結構保存爲一個CSV文件。 – DyZ

回答

0

首先,你的JSON響應似乎不是有效的,它裏面不應該有任何單引號。有了正確的反應,首先你需要加載字符串JSON:

import json 
response_string = '[{"time": 1477612800, "close": 5000, "high": 5000, "low": 2100, "open": 2100, "volumefrom": 0.08311, "volumeto": 414.42}, ...]' 
response_json = json.loads(response_string) 

然後你就可以像他們去(使用Python 3.6功能的F-字符串)打印值:

for item in response_json: 
    print(f'{item["time"]},{item["close"]},{item["high"]},{item["low"]},{item["open"]},{item["volumefrom"]},{item["volumeto"]}') 

或沒有F-字符串(Python的3.5和更低):

for item in response_json: 
    print(item["time"] + ',' + item["close"] + ',' + item["high"] + ',' + item["low"] + ',' + item["open"] + ',' + item["volumefrom"] + ',' + item["volumeto"]')