如何从雅虎财经网址写入和附加多个股票数据?

问题描述 投票:0回答:2

我有以下代码,需要从雅虎网址下载多个代码的数据:

import time
import datetime
import pandas as pd

#read ticker symbols from a file to a python list object named ticker
symbols = []
with open('ticker_list.csv') as f:
    symbol = [row.split()[0] for row in f]
f.close

period1 = int(time.mktime(datetime.datetime(2020, 12, 1, 23, 59).timetuple()))
period2 = int(time.mktime(datetime.datetime(2020, 12, 31, 23, 59).timetuple()))
interval = '1d' # 1d, 1wk, 1m

xlwriter = pd.ExcelWriter('Stock_Price_sample.xlsx', engine='xlsxwriter')
for ticker in symbols:
    query_string = f'https://query1.finance.yahoo.com/v7/finance/download/{ticker}?period1={period1}&period2={period2}&interval={interval}&events=history&includeAdjustedClose=true'
    df = pd.read_csv(query_string)
    append_df.to_excel(xlwriter, sheet_name='Sheet1', index=False)
    
xlwriter.save()

例如,在ticker_list.csv文件中,我有以下代码:MSFT、AAPL、TSLA等。

我无法下载股票数据并将其附加到 Excel 编写器。它给了我一个空白页。任何有关如何解决此问题或替代技术的帮助将不胜感激。

python yahoo-finance stock-data
2个回答
0
投票

您可以使用 yahooquery 或 yfinance 来完成此任务。


0
投票

安装yfinance

pip install -U yfinance

下载单个股票行情,

yfinace.download(ticker, start, end)

这里的开始,结束是日期,比如开始='2020-01-01',结束='2020-12-31',股票='AAPL'

对于多个代码/代码,

yfinance.download('AAPL TSLA', start, end)

输出将是具有多级索引的数据帧。

有更多详细信息在此答案中在pypi上

© www.soinside.com 2019 - 2024. All rights reserved.