yfinance数据导出:3条路径覆盖CSV/Excel/批量场景
发布时间:2026/9/5 20:09:16 作者:尧图编辑部 阅读量:1,286

yfinance数据导出3条路径覆盖CSV/Excel/批量场景【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance读完本文你会完成三件事一条命令把股价数据落盘成CSV三张财务报表合成一个Excel工作簿批量脚本接上cron定时自动跑。yfinance是一个从Yahoo! Finance拉取市场数据的Python库。它的Ticker对象把行情、财务、期权数据组织成DataFrame而数据导出只是在这些DataFrame上再调一次to_csv或to_excel的事。⚡ 环境准备3行代码搞定依赖pip install yfinanceimport yfinance as yf t yf.Ticker(AAPL) # 单只股票入口核心入口是yfinance/ticker.py中的Ticker单只和yfinance/tickers.py中的Tickers多只。完整API文档见doc/source/index.rst。三种导出路径速览路径适用场景核心方法输出文件ACSV落盘单只股票行情喂给Excel或建模history()to_csv()单个.csvBExcel多表财务报表跨表计算、做图表income_stmt等 pd.ExcelWriter单个.xlsx多sheetC批量循环一篮子股票定期归档Tickersfor循环一批.csv路径A单只股票导出CSV场景把苹果近一年的日线行情导出拿到Excel里继续画线。import yfinance as yf aapl yf.Ticker(AAPL) hist aapl.history(period1y) # 下载近1年日线 hist.to_csv(aapl_1y.csv)文件直接落在当前目录字段是Date、Open、High、Low、Close、Volume首列就是索引日期。路径B 财务三表生成一个Excel场景做估值对比利润表、资产负债表、现金流量表放在三个工作表里公式可以跨sheet引用不会来回切文件。import yfinance as yf import pandas as pd msft yf.Ticker(MSFT) with pd.ExcelWriter(msft_fin.xlsx) as w: msft.income_stmt.to_excel(w, sheet_name利润表) msft.balance_sheet.to_excel(w, sheet_name资产负债表) msft.cash_flow.to_excel(w, sheet_name现金流量表)三个sheet按年度对齐跨表拉公式、做图表都很顺。路径C多只股票批量下载 定时触发import yfinance as yf import time g yf.Tickers(AAPL MSFT GOOG) for sym, t in g.tickers.items(): # 逐个下载落盘 t.history(period3mo).to_csv(f{sym}_3mo.csv) time.sleep(1) # 控制请求频率把脚本挂到Linux的cron或Windows任务计划器每个交易日盘后自动执行就是常见的yfinance自动导出流水线。更多批量写法看examples/目录。修复价格序列导出前先校验质量长周期数据常因除权除息出现价格跳变auto_adjust参数默认开启会对OHLC做复权处理一行代码即可对比差异a aapl.history(period5y, auto_adjustTrue) b aapl.history(period5y, auto_adjustFalse)图中红色框标出分红导致的收盘价跳变Adj Close列则把跳变抹平。复权逻辑实现在yfinance/utils.py细节见doc/source/advanced/price_repair.rst。踩坑速查现象 → 一行修复代码现象CSV在Windows Excel里打开中文列名乱码修复hist.to_csv(data.csv, encodingutf_8_sig)现象长历史或分钟线一次拉取慢、易被截断修复按年切片再合并如hist(start2020-01-01, end2021-01-01)参数定义见yfinance/base.py的history()现象财务报表导出Excel后列错位指标跑进了行修复msft.income_stmt.reset_index().to_excel(simple.xlsx)多级索引处理说明见doc/source/advanced/multi_level_columns.rst延伸方向examples/目录里还有期权链、基金持仓等数据的导出示例可以按需取用。yfinance/live.py提供WebSocket实时报价流想把数据导出升级成实时数据管道可以从这里接。打开终端把第一条命令跑起来吧。【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考