我正在尝试编写代码,该代码将利用api从Yahoo Finance获取数据,然后将该数据导出到excel电子表格。在我添加应该导出到excel的最后一行之前,代码运行良好。我不断收到以下错误消息“ str对象没有属性'to_excel'”。
import yfinance as yf
from pandas import DataFrame
#opens txt document that has stock ticker symbols
fileref = open("a.txt","r")
listOfLines = fileref.readlines()
listOfLines = map(lambda line: line.strip(), listOfLines)
fileref.close()
ticker_symbols = listOfLines
#loop over each element and store it in the variable ticker
for ticker in ticker_symbols:
ticker_query = yf.Ticker(ticker)
price_to_book = ticker_query.get_info()["priceToBook"]
industry = ticker_query.get_info()["industry"]
dividend = ticker_query.get_info()["dividendYield"]
trailingPe = ticker_query.get_info()["trailingPE"]
dataset = (ticker + " : " + str(price_to_book) + " " + str(industry) + " " + str(dividend) + " " + str(trailingPe))
dataset.to_excel("x.xlsx")
任何人都可以提供帮助吗?
罗斯
您没有在上面使用pandas
模块。
为了导出为excel,您需要创建一个DataFrame
,您可以将其调用导出方法。您还需要以dict
格式提供行,而不是当前字符串,即dataset
创建要添加的词典的列表,遍历Yahoo!财务日期。然后使用此列表创建您的DataFrame
。请参阅this SO answer,其中确切详细说明了如何执行此操作。
然后您应该可以使用to_excel()
或to_excel()
功能输出to_csv
:
to_csv