2016-06-13 6 views
1

Yahoo Finance API를 사용하여 데이터를 DataFrame으로 읽으려고합니다. 그러나 목록에서 기호 값을 읽으면 DataTable의 단일 열로 끝납니다. 저는 실제로 배당, P/E와 같은 데이터를 원하기 때문에 API를 사용하고 있습니다. 데이터 액세스를 통해 액세스 할 수 있다고 생각하지 않습니다.pandas DataFrame 및 Yahoo Finance API

  1. 가 어떻게 나는에 대한 목록을하려고하고 무엇을 달성 할 방법 (행 대신)을 DataFrame
  2. 에 컬럼에 매핑 목록에서 값을받을 수 있나요 : 나는이 개 질문이 주식 기호

    import urllib2 
    from pandas import DataFrame 
    def get_data2(symbol): 
        columns = ['last','date','change','high','low','vol']  
        url = "http://download.finance.yahoo.com/d/quotes.csv?s=%s&f=sl1d1c1hgv" % symbol 
        file =urllib2.urlopen(url)  
        s = file.read() 
        file.close() 
        s= s.strip() 
        L = s.split(',') 
        L[0] = L[0].replace('"','') 
        L[2] = L[2].replace('"','') 
        D = DataFrame(L, columns=columns) 
        return D 
    
    모양이 일치하지 않기 때문에 나는 ValueError를 얻을이 코드

하지만, 기본적으로 내가 DataTable에있는 컬럼에 목록에서 각 값을 읽고, 결국 이상 반복 할 목록 o f 기호. 어떤 도움

+0

당신은 왜 그것을 위해 설계'pandas_datareader'를 사용하지 않으려는? – MaxU

+0

데이터 제공 업체에서 가격 및 볼륨 데이터 만 가져올 수 있다고 생각합니다. 다른 통계를 수집하는 데 필요한 설명서를 찾을 수 없습니다. – MJMacarty

+0

[여기] (http://stackoverflow.com/a/37797875/5741205) 맞춤 통계의 예입니다 – MaxU

답변

5

에 대한

덕분에이 시도 :

In [23]: from pandas_datareader import data 

In [24]: data.DataReader('GOOG', 'yahoo', '2016-06-01', '2016-06-13') 
Out[24]: 
        Open  High   Low  Close Volume Adj Close 
Date 
2016-06-01 734.530029 737.210022 730.659973 734.150024 1250800 734.150024 
2016-06-02 732.500000 733.020020 724.169983 730.400024 1337600 730.400024 
2016-06-03 729.270020 729.489990 720.559998 722.340027 1222700 722.340027 
2016-06-06 724.909973 724.909973 714.609985 716.549988 1565300 716.549988 
2016-06-07 719.840027 721.979980 716.549988 716.650024 1336200 716.650024 
2016-06-08 723.960022 728.570007 720.580017 728.280029 1582100 728.280029 
2016-06-09 722.869995 729.539978 722.335999 728.580017 985900 728.580017 
2016-06-10 719.469971 725.890015 716.429993 719.409973 1206000 719.409973 

Demo for building pandas Panel when pulling data for multiple tickers

Demo for pulling custom Yahoo quotes (for example: Market Cap, Div Yield, EPS Est Next Quarter, etc.)