我试图从一个网站上获取一些数据,这些数据包括每年一个Excel文件(从2015年到2021年)。我觉得我差不多完成了,但缺少的是能够将每个年度结果保存到一个单独的数据框中,并使用一个不同的名称(以年份作为后缀)。这可能有一个简单的解决方案,也可能有其他解决方案,但我尝试的是扭曲代码中的最后一行和数据帧(df_long=…),不命名为df_long,而是df_long_2015,df_long_2016…等等,因为它通过for循环。想把所有的岁月都结束。现在的问题是,对于每年的每个循环,df_long数据帧都会被覆盖,从而失去上一年的结果。谢谢你的帮助…谢谢
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_2015)作为键,数据帧作为值
这样行吗
相关问题 更多 >
编程相关推荐