このコードは、取得したデータ量の15倍を取得します。それが実行されると、初めてforループに入り、答えを出力しますが、2回目の "for num in range(0,15):"ループでループすると、ループします"for df in page:"に挿入してから、他のループに深く入り込まず、 "page_counter"を200だけインクリメントします。Pythonはループを1回実行するだけでネストされ、残りの繰り返しはスキップされます
"for num in range(0,15):"ループのたびに最終的なネストされたforループを実行するにはどうすればよいですか?
import pandas as pd
symbol = 0
for num in range(symbol,1):
page_counter =0
right = 1
down = 0
for num in range(0,15):
page = pd.read_html('https://www.google.com/finance/historical?q=a&startdate=Jan+1%2C+2005&enddate=Mar+2%2C+2017&num=200&ei=Aom4WPizNcWO2AaSnZ3YBg'+ str(page_counter), attrs = {'class': 'gf-table'}, header=0)
for df in page:
for num in range(down,200):
open_data = df.at[down, 'Open']
high_data = df.at[down, 'High']
low_data = df.at[down, 'Low']
close_data = df.at[down, 'Close']
#volume_data = df.at[down, 'Volume']
print(open_data)
down += 1
page_counter += 200
print(page_counter)
symbol += 1
P.S.私のコードはちょっとジャッキーなことが分かっていますが、これは私が持っていた簡単なアイデアです。
ループの内側と外側の両方で同じ 'num'変数を使用しています。ループごとに異なる変数名を使用することができます。 – AKS