怎么用pandas_datareader.data爬取欧洲斯托克50指数的全部股票的数据,并存储到csv文件中
时间: 2024-03-16 13:42:59 浏览: 20
可以使用以下代码来实现:
```python
import pandas_datareader.data as web
import pandas as pd
# 欧洲斯托克50指数的股票代码为^STOXX50E
index_code = '^STOXX50E'
# 获取欧洲斯托克50指数的全部股票的股票代码
stock_codes = web.get_components_yahoo(index_code)
# 获取每个股票的历史数据
df_list = []
for code in stock_codes.index:
try:
df = web.DataReader(code, 'yahoo')
df['Code'] = code
df_list.append(df)
except:
pass
# 将数据合并
df_total = pd.concat(df_list, axis=0, ignore_index=False)
# 将数据保存到csv文件中
df_total.to_csv('stock_data.csv')
```
说明:
1. 首先指定欧洲斯托克50指数的股票代码为`^STOXX50E`。
2. 使用`web.get_components_yahoo()`函数获取欧洲斯托克50指数的全部股票的股票代码。
3. 使用循环语句获取每个股票的历史数据,并将股票代码作为一列添加到数据中。
4. 最后使用`pd.concat()`函数将所有股票的数据合并成一个DataFrame,并使用`to_csv()`方法将数据保存到csv文件中。