如何循环股票列表并根据循环列表值创建变量

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

我正在尝试将多个股票代码数据帧导入到 PowerBi,但我找不到使用股票代码名称创建变量的方法。

这是我的代码:

import time
import pandas as pd
from datetime import date

tickers = ['ATVI', 'AMD', 'ABNB','AIR','GOOGL','AMZN','AAPL','ERT.BE','EQIX','INTC','JPM','LPL','MC.PA','MSFT','NVDA','PKX','SSUN.BE','SFT.BE','SONY','SPOT','TSM','TSLA','HO.PA','UBI.PA','UBS','DIS']
dataset = {}
today = int(time.mktime((date.today()).timetuple()))

for ticker in tickers:
    df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{ticker}?period1=1670371200&period2={today}&interval=1d&events=history&includeAdjustedClose=true')
    df['ticker'] = ticker
    df['evolution'] = df['Close'] - df['Close'].shift(1)
    df['percentage'] = ((df['Close'] - df['Close'].shift(1))/df['Close'])*100
    dataset[ticker] = pd.DataFrame(df)
    ticker = dataset[ticker]

理想情况下,将其导入 PowerBi 时,每个列表值都会有一个单独的数据帧,例如:ATVI、DIS、NVDA...

提前感谢您的帮助

python powerbi stock yahoo-finance
1个回答
0
投票

可能会为每个股票代码创建单独的数据框,然后将它们导入 Power BI。 一种方法是修改代码来创建数据帧字典,其中每个键是股票代码,值是相应的数据帧:

import time
import pandas as pd
from datetime import date

tickers = ['ATVI', 'AMD', 'ABNB','AIR','GOOGL','AMZN','AAPL','ERT.BE','EQIX','INTC','JPM','LPL','MC.PA','MSFT','NVDA','PKX','SSUN.BE','SFT.BE','SONY','SPOT','TSM','TSLA','HO.PA','UBI.PA','UBS','DIS']
dataset = {}
today = int(time.mktime((date.today()).timetuple()))

for ticker in tickers:
    df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{ticker}?period1=1670371200&period2={today}&interval=1d&events=history&includeAdjustedClose=true')
    df['ticker'] = ticker
    df['evolution'] = df['Close'] - df['Close'].shift(1)
    df['percentage'] = ((df['Close'] - df['Close'].shift(1))/df['Close'])*100
    dataset[ticker] = df

# 'dataset' is a dictionary where each key is a ticker symbol and the value is the corresponding dataframe.
# export these dataframes to separate CSV files or use them directly in Power BI.

# Ex: Exporting each dataframe to a CSV file
for ticker, df in dataset.items():
    df.to_csv(f'{ticker}_data.csv', index=False)

将每个数据帧存储在数据集字典中,并以股票代码为键。然后,您可以将每个数据帧导出到单独的 CSV 文件或直接使用它们。 将数据导入 Power BI 时,您也可以单独导入这些 CSV 文件。

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