python - 如何使用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")
任何人都可以提供任何帮助吗?
罗斯
解决方案
您没有使用pandas
上面的模块。
为了导出到 excel,您需要创建一个DataFrame
可以调用导出方法的对象。您还需要以dict
格式提供行,而不是当前字符串,即dataset
创建要添加的词典列表,循环浏览 Yahoo! 财务日期。然后使用此列表创建您的DataFrame
. 请参阅此 SO answer,其中详细说明了如何执行此操作。
然后,您应该能够使用to_excel()
orto_csv
函数来输出Dataframe
:
df.to_excel(path)
推荐阅读
- javascript - 拖放一个 div 以打印它
- java - 为什么蓝条在菜单中重叠?
- c - 将 char 乘以下一个整数的数量
- javascript - 从组件中的 useState 多次调用状态更新程序会导致多次重新渲染
- python - 如何检查特定瓷砖周围的瓷砖?
- django - 没有模型相关字段作为 SlugRelatedField 到 Serializer
- javascript - 如何使用 javascript 更改 html 视频源?
- c# - 如何成功地将包含外部 js 的嵌入式 HTML 实现到 webbrowser 对象中?
- mongodb - MongoDB查询双嵌套数组
- mysql - Docker,无法将 wordpress 连接到 mysql