Member-only story
本篇我們會繼續討論從Part 1 撈取的 df_878
中提取股票代碼,並使用先前Part 2 定義的 get_info_yfinance
函式來獲取 Yahoo Finance 上的財務資料,接著將這些資料貼回 df_878
的相應欄位中。
以下是此程式碼的逐步解說:
df_878
中的每一列資料中,獲取ticker
i = 1
for row in df_878.to_records(index=False):
ticker = str(row[0]).strip() + '.TW'
- 提取當前行的股票代碼,去除多餘的空白並加上
.TW
,以符合 Yahoo Finance 的台灣股票代碼格式。 print(ticker)
用於顯示當前處理的股票代碼,方便檢查。
- 使用
get_info_yfinance
函式取得財務資料
data = get_info_yfinance(ticker)
將結果儲存在 data
變數中。data
包含多個財務指標的數值。
- 將取得的財務資料寫入
df_878
的指定欄位:
df_878.loc[i, 'eps_trailing'] = data[0]
df_878.loc[i, 'eps_forward'] = data[1]
df_878.loc[i, 'bookvalue_per_share'] = data[2]
df_878.loc[i, 'previousClose'] = data[3]
df_878.loc[i, 'priceToBook'] = data[4]
df_878.loc[i, 'earningsGrowth'] = data[5]
df_878.loc[i, 'trailingPE'] = data[6]
df_878.loc[i, 'forwardPE'] = data[7]
df_878.loc[i, 'trailingPegRatio'] = data[8]
df_878.loc[i, 'currentPrice'] = data[9]
df_878.loc[i, 'targetMedianPrice'] = data[10]
df_878.loc[i, 'totalRevenue'] = data[11]
df_878.loc[i, 'revenuePerShare'] = data[12]
df_878.loc[i, 'revenueGrowth'] = data[13]
df_878.loc[i, 'operatingMargins'] = data[14]
df_878.loc[i, 'totalCashPerShare'] = data[15]
df_878.loc[i…