首页 > 解决方案 > 如何使用python将数据集导出到excel?不断收到以下错误“str object has no attribute 'to_excel'”

问题描述

我正在尝试编写一个代码,该代码将利用 api 从 yahoo Finance 获取数据,然后将该数据导出到 Excel 电子表格。在我添加应该导出到 excel 的最后一行之前,代码运行良好。我不断收到以下错误消息“str object has no attribute '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")

任何人都可以提供任何帮助吗?

罗斯

标签: pythonexport-to-excel

解决方案


您没有使用pandas上面的模块。

为了导出到 excel,您需要创建一个DataFrame可以调用导出方法的对象。您还需要以dict格式提供行,而不是当前字符串,即dataset

创建要添加的词典列表,循环浏览 Yahoo! 财务日期。然后使用此列表创建您的DataFrame. 请参阅此 SO answer,其中详细说明了如何执行此操作。

然后,您应该能够使用to_excel()orto_csv函数来输出Dataframe

df.to_excel(path)


推荐阅读