2017-08-15 2 views
0

私はQuandlデータベースで遊んでいましたが、無料の株価チャートをすべて調べてパンダデータベースに入れるコードを書いたかったのです。私はニューヨーク証券取引所にすべての株式を持っているティッカーを作成しましたが、Quandlはいくつかの株式に自由にアクセスできますので、クエリには無効なデータが多く含まれています。私がしようとしているのは、株式がQuandlで利用可能な場合、それはデータベースに入り、コードが単純に何もせずに渡すという方法で例外を処理することです。これまでのコードは次のとおりです。一部のデータが有効なときにデータを照会する

countries = pd.read_html('http://www.nationsonline.org/oneworld/country_code_list.htm') 
real_countries = countries[2] 
for abbv in real_countries[3]: 
    query = 'UNAE/GVAKD_'+str(abbv) 

tryとexceptステートメントの外観はどうですか?

答えて

0

私はここにいくつかの直ちに問題があると思います。

real_countries = countries[2] 

は、リストから単一の値を返します。例えば、

countries = ['spain', 'france', 'uk'] 
real_countries = countries[2] 
real_countries 

戻り

'uk' 

それはリスト0 1 2位置であるからです。それでは

real_countries[3] 

戻り

--------------------------------------------------------------------------- 
IndexError        Traceback (most recent call last) 
<ipython-input-12-32ebd2273102> in <module>() 
----> 1 real_countries[3] 

IndexError: string index out of range 

だから、それはあなたがここのために行っているかを理解するのは難しい

を呼び出します。

私はあなたが欲しいと思うことはある。だから今、少なくともあなたは、クエリのリストを持っている

string_to_add = 'UNAE/GVAKD_' 
query_list = [value+string_to_add if value in real_countries else None for value in countries] 

:リスト内の値は、その後new_list

として文字列+値は、私たちのようなのようなものに近づくことができる場合、そしてあなたはそれを実際にあなたの質問をするためにもう一度繰り返すことができます。しかし、あなたは国を経由して行った単一の価値を切り捨てることによって、あなたの "現実の国"を決定する必要があります。

+0

申し訳ありませんが、国はデータフレームのリストです。これはread_htmlによって返されるものです。 real_countriesは、そのリストから必要なデータフレームを取り出します。 –

+0

わかりません。 "real_countries" dataFrameの各国に 'UNAE/GVAKD_'文字列を追加しようとしていますか? – Dylan

+0

はい、quandlのデータベースを介してクエリとしてそのリストを使用します。 Btw、私はちょうどこれらが国ではなく、その名前は別のコードから残されていることに気づいた。これらは株式です。私がやったことは、ニューヨーク証券取引所のすべての株式のリストを作成することであり、それを使ってquandlの株価データベースを照会したいのです。問題は、単一の在庫ごとにデータベースがないことです。照会されたシンボルの一部がエラーとして表示されることがあります。 –

関連する問題