2017-03-05 7 views
1

複数の証券のデータをyahooファイナンスのpandas経由でダウンロードすることはできません。複数rics yahoo金融データのダウンロード問題

import pandas as pd 
import numpy as np 
import pandas_datareader.data as web 
df=pd.DataFrame() 
symbols = pd.read_excel('C:\Users\alpha\Desktop/sym.xlsx')#eader=None,skiprows=1) 
symbols = symbols['values_index'].values.tolist() 
for sym in range(2,4): 
    df[sym]=web.DataReader(symbols[sym],data_source='yahoo',start='2017-2-21',end='2017-2-24') 

すべての有価証券は、あなたがsymbolsに余分な単一引用符を持ってsym.xlsx

In [] Symbols 
Out [] [u"'NESN.VX'", u"'NOVN.VX'", u"'ROG.VX'", u"'HSBA.L'", u"'FP.PA'", u"'BATS.L'"] 

答えて

0

に有効であるけれども、私は次のエラー

RemoteDataError: Unable to read URL: http://ichart.finance.yahoo.com/table.csv 

を取得します。

デモ:ここ

In [12]: web.DataReader("'NESN.VX'", 'yahoo', '2017-02-21', '2017-02-24') 
... 
skipped 
... 
RemoteDataError: Unable to read URL: http://ichart.finance.yahoo.com/table.csv 

In [13]: web.DataReader("NESN.VX", 'yahoo', '2017-02-21', '2017-02-24') 
Out[13]: 
       Open High Low Close Volume Adj Close 
Date 
2017-02-21 73.075 73.750 73.00 73.45 756500  73.45 
2017-02-22 73.250 74.550 73.20 74.40 1371200  74.40 
2017-02-23 74.200 74.900 73.90 74.70 727000  74.70 
2017-02-24 74.575 74.775 74.05 74.45 965300  74.45 

は少し改善された解決策である:

In [71]: s = [x.replace("'",'') for x in symbols] 

In [72]: s 
Out[72]: ['NESN.VX', 'NOVN.VX', 'ROG.VX', 'HSBA.L', 'FP.PA', 'BATS.L'] 

が一歩

にPandas.Panelにすべてのティッカーを読んで、余分な単一引用符を取り除きます
In [73]: p = web.DataReader(s, 'yahoo', '2017-02-21', '2017-02-24') 

In [74]: p 
Out[74]: 
<class 'pandas.core.panel.Panel'> 
Dimensions: 6 (items) x 4 (major_axis) x 6 (minor_axis) 
Items axis: Open to Adj Close 
Major_axis axis: 2017-02-21 00:00:00 to 2017-02-24 00:00:00 
Minor_axis axis: BATS.L to ROG.VX 

はあなたの助けのための偉大なおかげでパネル

In [75]: df_dict = {sym:p.loc[:,:,sym] for sym in p.minor_axis} 

チェック

In [76]: df_dict['FP.PA'] 
Out[76]: 
       Open High  Low Close  Volume Adj Close 
Date 
2017-02-21 47.750 48.815 47.605 48.400 5859500.0 47.78588 
2017-02-22 48.920 48.985 47.990 48.305 5448400.0 47.69208 
2017-02-23 48.215 48.585 48.100 48.290 3904200.0 47.67727 
2017-02-24 48.110 48.350 47.120 47.735 4937300.0 47.12931 

In [77]: df_dict['NESN.VX'] 
Out[77]: 
       Open High Low Close  Volume Adj Close 
Date 
2017-02-21 73.075 73.750 73.00 73.45 756500.0  73.45 
2017-02-22 73.250 74.550 73.20 74.40 1371200.0  74.40 
2017-02-23 74.200 74.900 73.90 74.70 727000.0  74.70 
2017-02-24 74.575 74.775 74.05 74.45 965300.0  74.45 

In [78]: df_dict.keys() 
Out[78]: dict_keys(['BATS.L', 'FP.PA', 'HSBA.L', 'NESN.VX', 'NOVN.VX', 'ROG.VX']) 
+0

からデータフレームの辞書を作成します – user2560244

関連する問題