我正在尝试使用 yfinance 包从 Yahoo Finance 下载数据。我使用下面的代码:
import yfinance as yf
import pandas as pd
fang = ['FB','AMZN','NFLX','GOOG']
tickers = [yf.Ticker(ticker) for ticker in fang]
dfs = [] # list for each ticker's dataframe
for ticker in fang:
# get each financial statement
pnl = ticker.financials
bs = ticker.balancesheet
cf = ticker.cashflow
# concatenate into one dataframe
fs = pd.concat([pnl, bs, cf])
# make dataframe format nicer
# Swap dates and columns
data = fs.T
# reset index (date) into a column
data = data.reset_index()
# Rename old index from '' to Date
data.columns = ['Date', *data.columns[1:]]
# Add ticker to dataframe
data['Ticker'] = ticker.ticker
dfs.append(data)
data.iloc[:,:3]# for display purposes
但是我有一个错误:
KeyError Traceback (most recent call last)
Input In [5], in <cell line: 8>()
7 dfs = [] # list for each ticker's dataframe
8 for ticker in tickers:
9 # get each financial statement
---> 10 pnl = ticker.financials
11 bs = ticker.balancesheet
12 cf = ticker.cashflow
KeyError: 'regularMarketOpen'
我也尝试解决这个问题,如 Yfinance KeyError: 'regularMarketOpen' post 但我没有在 yfinance/base.py
中找到原始
"data = utils.get_json(url+'/financials', proxy)"