2016-05-29 86 views
1

我正在尝试对学校项目的ether历史价格做一些基本的analsys。我认为我的问题很简单。我做了一个从URL下载数据的函数,但格式不正确。我得到一个大小为(0,〜14k)的数据帧。所以我下载了这些数据,但我不知道该如何将它格式化为我可以使用的表单。Python 2.7 csv从URL下载

我看到2种可能性,我在下载后格式化数据帧,我将尽力去做。或者我首先以正确的格式下载它,这将是更好,更优雅的解决方案。

我的问题,我不知道如何做2.我可能不会成功1.这就是为什么我做这个职位。

def get_stock_price_csv_from_poloniex(): 

    import requests 
    from pandas import DataFrame 
    from io import StringIO 

    url = 'https://poloniex.com/public?command=returnChartData&currencyPair=USDT_ETH&start=1435699200&end=9999999999&period=14400' 

    csv = requests.get(url) 

    if csv.ok: 
     return DataFrame.from_csv(StringIO(csv.text), sep=',') 
    else: 
     return None 

回答

3

源数据不是CSV,它是。幸运的是,熊猫provides facilities for working with it as well

import requests 
from pandas.io.json import json_normalize 

url = 'https://poloniex.com/public?command=returnChartData&currencyPair=USDT_ETH&start=1435699200&end=9999999999&period=14400' 
resp = requests.get(url) 
data_frame = json_normalize(resp.json()) 
+0

是的,谢谢,我只需要从这里返回data_frame。谢谢你之前从未与json互动,甚至不知道这是什么。再次感谢 –