Python存储类列表并同时导出两者

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

对于下面的班级,我试图通过将两支股票放在将由班级运行的列表中来获取两只股票的价格数据。

import yfinance as yf
import pandas as pd
import csv

class price:
    def __init__(self, ticker):
        self.ticker = ticker
        company = yf.Ticker(self.ticker)
        price = company.history(period='max')
        price_df = pd.DataFrame(price)
        price_df.to_csv('test2.csv', index=False)

l = ['AAPL', 'KO']
for item in l:
    price(item)

当我导出或打印price_df时,我只会得到列表中的最后一个条目,即,仅获得“ KO”价格数据,而没有“ AAPL”。目标是在一个DataFrame中直接包含“ AAPL”价格数据和“ KO”。我该怎么办?

python
1个回答
0
投票

由于您正在类中创建数据框,我建议将代码列表传递给类并在内部创建数据框:

类似这样的东西:

import pandas as pd

class Price:
    def __init__(self, tickers):
        self.tickers = tickers
        self.price_df = pd.DataFrame()
        for ticker in tickers:
              company = yf.Ticker(ticker)
              price = company.history(period='max')
              self.price_df.append(price)
        self.price_df.to_csv('test2.csv', index=False)

l = ['AAPL', 'KO']
p = Price(l)
© www.soinside.com 2019 - 2024. All rights reserved.