yfinance 数据导出实战指南:四步把股价与财报变成 CSV/Excel

yfinance 数据导出实战指南:四步把股价与财报变成 CSV/Excel yfinance 数据导出实战指南四步把股价与财报变成 CSV/Excel【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance周五下午四点周报要附一份一年股价数据你手里却只有终端里的一串数字。yfinance 股票数据导出解决这个问题三行代码就能把 Yahoo Finance 的行情变成可直接发邮箱附件的 CSV 或 Excel 文件全程只要几分钟。下面从单只股票到无人值守四步走完常用的 yfinance 数据导出路径。这篇文章你能带走什么3 行代码拿到一年股价存成 CSV利润表、资产负债表、现金流量表合并进一个 Excel多只股票一次性下载各自导出独立文件几行脚本加系统定时任务实现无人值守导出单只股票把一年股价落盘安装一行命令搞定pip install yfinance。拿到数据靠 Ticker 对象存盘靠 to_csvimport yfinance as yf apple yf.Ticker(AAPL) hist apple.history(period1y) # 一年日线period 也可写 3mo、5y hist.to_csv(aapl_1y.csv)生成的 CSV 包含 Date、Open/High/Low/Close、Volume 等列价格默认已复权想看原始价格就给 history 传auto_adjustFalse。history 的完整实现在 yfinance/ticker.py。多张表三张财务报表合并进一个 Excelincome_stmt 这类属性返回的都是 pandas DataFrame用 ExcelWriter 各占一个工作表写进去即可import yfinance as yf import pandas as pd msft yf.Ticker(MSFT) with pd.ExcelWriter(msft_financials.xlsx) as writer: msft.income_stmt.to_excel(writer, sheet_nameIncome Statement) msft.balance_sheet.to_excel(writer, sheet_nameBalance Sheet) msft.cash_flow.to_excel(writer, sheet_nameCash Flow)这三个属性都定义在 Ticker 类里想要季度口径的表把属性名前面加 quarterly_ 前缀即可。批量多只股票一次下载方式一是把代码用空格拼成字符串交给 yf.download得到一个多列索引的大表import yfinance as yf data yf.download(SPY AAPL, period1mo) data.to_csv(spy_aapl_1mo.csv)这段就是官方示例 doc/source/reference/examples/download.py 的内容。方式二适合要独立文件的场景用 Tickers 逐个导出import yfinance as yf tickers yf.Tickers(AAPL MSFT GOOG) for t in tickers.tickers: df t.history(period3mo) df.to_csv(f{t.ticker}_3mo.csv)Tickers 的更多用法见 doc/source/reference/examples/tickers.py。无人值守定时自动导出把导出逻辑写进脚本交给系统定时任务按点执行# export_daily.py import datetime as dt import yfinance as yf for sym in [AAPL, MSFT]: df yf.Ticker(sym).history(period1mo) df.to_csv(f{sym}_{dt.date.today():%Y%m%d}.csv)# crontab -e每个工作日 18 点执行 0 18 * * 1-5 cd ~/stock_data python export_daily.py第二天早上打开目录前一天的 CSV 已经躺在里面。Windows 上把 crontab 换成任务计划程序写法同理。避坑三个高频问题CSV 用 Excel 打开中文乱码。修法hist.to_csv(数据.csv, encodingutf_8_sig)带 BOM 后 Excel 就能正确识别。财务报表导出后是双行表头列名对不齐。修法msft.income_stmt.reset_index().to_excel(x.xlsx)把行索引降成普通列。某天价格突然跳 90%或整段缩到原来的 1/100。先看是不是分红、拆股日修复前原始价有明显缺口复权列Adj Close应当连续——另一种典型是计价单位出错整段价格被放大或缩小 100 倍history 默认auto_adjustTrue若原始数据仍有异常在 yf.download 里加repairTrue自动修复规则细节写在 doc/source/advanced/price_repair.rst。另外记住一条硬限制分钟级数据只能取最近 60 天长周期分析请先用日线。现在就可以动手把第一段的代码贴进终端跑一遍一分钟后你手上就有一个 CSV。更多用法看官方示例目录 doc/source/reference/examples/ 和文档入口 doc/source/index.rst。【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考