<p>您可以按如下方式指定列名:</p>
<p>代码:</p>
<pre><code>from io import StringIO
import pandas as pd
import re
import yfinance as yf
def sto_data(start, end, company_list, adj_close_fname = None):
stock_codes = []
company_names = []
for company_str in company_list:
res = re.findall(r'\d+', company_str)[0]
stock_code = f"{res}.KL"
stock_codes.append(stock_code)
company_name = re.findall(r"\d+\)(.*)", company_str)[0]
company_names.append(company_name)
stocks_data = yf.download(stock_codes,start=start, end=end, show_errors=False)
stocks_adj_close = stocks_data["Adj Close"]
stocks_adj_close = stocks_adj_close[stock_codes]
if None is not adj_close_fname:
stocks_adj_close.to_csv(adj_close_fname)
return stocks_adj_close
if __name__ == '__main__':
compan_list_data = """
index name
0 BTECH (0011)ACEBRITE-TECH BERHAD
1 EDEN (7471)MAINEDEN INC. BERHAD
2 GASMSIA (5209)MAINGAS MALAYSIA BERHAD
3 MALAKOF (5264)MAINMALAKOFF CORPORATION BERHAD
4 MFCB (3069)MAINMEGA FIRST CORPORATION BERHAD
5 PBA (5041)MAINPBA HOLDINGS BHD
6 PETGAS (6033)MAINPETRONAS GAS BERHAD
7 RANHILL (5272)MAINRANHILL UTILITIES BERHAD
8 SALCON (8567)MAINSALCON BERHAD
9 TALIWRK (8524)MAINTALIWORKS CORPORATION BERHAD
10 TENAGA (5347)MAINTENAGA NASIONAL BHD
11 YTL (4677)MAINYTL CORPORATION BERHAD
12 YTLPOWR (6742)MAINYTL POWER INTERNATIONAL BHD"""
df_company_list = pd.read_csv(StringIO(compan_list_data), sep="\s{2,}", engine="python")
company_list = df_company_list["name"].values
df = sto_data("2021-09-14", "2021-09-15", company_list)
print(df)
</code></pre>
<p>结果:</p>
<pre><code> 0011.KL 7471.KL 5209.KL 5264.KL 3069.KL 5041.KL 6033.KL 5272.KL 8567.KL 8524.KL 5347.KL 4677.KL 6742.KL
Date
2021-09-13 0.440 0.145 2.72 0.87 3.50 0.84 16.700001 0.705 0.225 0.830 10.28 0.655 0.715
2021-09-14 0.435 0.145 2.72 0.87 3.52 0.83 16.760000 0.705 0.220 0.835 10.18 0.650 0.715
</code></pre>