You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将yf.Ticker(ticker).info字典转为DataFrame并导出CSV?

解决yfinance提取指定字段并导出CSV的问题

问题根源

yf.Ticker(ticker).info返回的是单层字典,直接用pd.DataFrame(stock_info)会把字典的键作为列名,但因为没有传入行级数据,所以生成的是0行的空DataFrame。

具体解决步骤

直接提取你需要的字段,构造包含行数据的DataFrame即可,代码如下:

import yfinance as yf
import pandas as pd

# 获取股票信息字典
ticker = "MSFT"
stock_info = yf.Ticker(ticker).info

# 定义要提取的目标字段
target_fields = ['freeCashflow', 'industry', 'debtToEquity', 'returnOnEquity', 'sharesOutstanding']

# 提取字段(用get方法避免字段不存在时触发KeyError)
extracted_data = {field: stock_info.get(field, None) for field in target_fields}

# 将提取的数据转换为DataFrame(把字典放进列表,生成一行数据)
df = pd.DataFrame([extracted_data])

# 导出为CSV,index=False去掉默认行索引
df.to_csv('msft_key_metrics.csv', index=False)

关键说明

  • 把字典放进[]里传入pd.DataFrame(),pandas会将其识别为一行记录,这样就能生成有数据的DataFrame
  • 使用dict.get(field, None)可以处理部分字段可能不存在的情况,避免报错,不存在的字段会填充为None

内容的提问来源于stack exchange,提问作者Djenci Duquene

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 00:05:25