2017-01-23 1 views
0

ヤフーファイナンスを使用して在庫データをPythonに読み込んでいます。しかし、それは株式で動作しますが、それは商品に間違いを与えます。ヤフーファイナンスで商品をパイソンに読み取る

以下のコードは完璧に動作します:

import pandas as pd 
import numpy as np 
import pandas.io.data as web 
import datetime 

# We will look at stock prices over the past year, starting at January 1, 2016 
start = datetime.datetime(2016,1,1) 
end = datetime.date.today() 

stock = "AAPL" 

# get stock data, from yahoo finance within the dates specified 
stock = web.DataReader(stock, "yahoo", start, end) 

stock.head(n=3) 

しかし、あなたの代わりに株式の商品にハンドルを変更する場合は、このエラーを取得する:

import pandas as pd 
import numpy as np 
import pandas.io.data as web 
import datetime 

# We will look at stock prices over the past year, starting at January 1, 2016 
start = datetime.datetime(2016,1,1) 
end = datetime.date.today() 

stock = "GCG17.CMX" 

# get stock data, from yahoo finance within the dates specified 
stock = web.DataReader(stock, "yahoo", start, end) 

stock.head(n=3) 

OSError: after 3 tries, Yahoo! did not return a 200 for url 'http://ichart.finance.yahoo.com/table.csv?s=GCG17.CMX&a=0&b=1&c=1970&d=0&e=22&f=2017&g=d&ignore=.csv' 

誰も私を助けることができますか?

+2

これをブラウザに入力すると、http://ichart.finance.yahoo.com/table.csv?s=GCG17.CMX&a=0&b=1&c=1970&d=0&e=22&f=2017&g=d&ignore= .csv – e4c5

答えて

0

YQL Consoleを使用して、SQLを使用して必要なデータを抽出することができます。

たとえば、私はselect * from yahoo.finance.historicaldata where symbol = "AAPL" and startDate = "2016-01-01" and endDate = "2017-01-22を試して、私が望むテーブルを正常に取得します。

"AAPL"を "GCG17.CMX"に置き換えても何も取得できません。したがって、私はpandasやyahoo_financeのようなPythonのライブラリには問題はないと思います。問題はヤフー側で発生します。

Whartonデータサービスなどの他のデータベースを探して、必要なテーブルを取得しようとすることがあります。これが助けてくれることを願って。

0

Yahoo Financeが過去の商品価格を保存しないため、エラーが発生しています。

関連する問題