擅长:python、mysql、java
<p>这样行吗</p>
<pre class="lang-py prettyprint-override"><code>df_list = []
for aar in range(2015,2021+1):
print(aar)
url = f'https://www.nordpoolgroup.com/48c8e5/globalassets/marketdata-excel-files/elspot-prices_{aar}_daily_nok.xls'
liste = pd.read_html(url, parse_dates=True, decimal=',', thousands='.', header=2, index_col=0, encoding='UTF-8')
df = pd.DataFrame(liste[0])
df.index = pd.to_datetime(df.index, format = '%Y-%m-%d')
df_long = df.stack().to_frame()
df_long.reset_index(inplace=True)
df_long.columns = ['Dato','Område','Pris']
filt = df_long['Område'].isin(['Oslo','Bergen','Tr.heim','Tromsø','Kr.sand','Molde'])
df_long = df_long.loc[filt, :]
df_long['aar'] = aar
df_list.append(df_long)
final_df = pd.concat(df_list)
</code></pre>