Featured image of post 用 DuckDB 搭建自动财报分析器:从原始 CSV 到投资报告,全程一键生成

用 DuckDB 搭建自动财报分析器:从原始 CSV 到投资报告,全程一键生成

用 DuckDB 把财报分析从 2 小时压缩到 30 秒:read_csv_auto 批量读取、LAG 窗口函数算环比同比、一键导出 Excel,附完整可运行代码和变现建议。

用 DuckDB 搭建自动财报分析器:从原始 CSV 到投资报告,全程一键生成

很多金融从业者和量化爱好者每天都在重复同一套动作:打开十几张 Excel,手动核对数字,写一堆 VLOOKUP 和公式,最后拼出一份财报分析。这套流程耗时 2-3 小时,且极易出错。

今天用 DuckDB 把整个流程自动化——从原始财报数据到可分享的分析报告,全程一条 SQL 搞定,耗时从 2 小时降到 30 秒。

数据流向架构


一、场景定义:你需要分析什么

假设你持有以下原始数据文件(CSV 格式):

  • income_statement/*.csv:利润表(日期、股票代码、营收、净利润、毛利率等)
  • balance_sheet/*.csv:资产负债表(日期、股票代码、总资产、总负债、净资产等)
  • stock_quotes/*.csv:每日行情(日期、股票代码、收盘价、成交量等)

目标输出:每只股票的季度关键指标 + 同比/环比变化 + 简单的估值判断信号。

传统方案需要用 Excel 或 Python pandas 写十几行代码来处理,而 DuckDB 可以做到"数据在哪里,SQL 就在哪里跑"——不需要先把所有文件加载到内存,直接对磁盘上的文件执行分析。


二、核心代码:一条 SQL 搞定全链路

import duckdb
from datetime import datetime

# 连接 DuckDB(内存模式,也可换成持久化数据库)
con = duckdb.ATTACH (":memory:")

# 1. 直接读取 CSV(支持 glob,一次读多文件)
con.execute("""
---

## 本文信息

| 项目 | 内容 |
|------|------|
| DuckDB 版本 | v1.5.x(部分功能基于 v2.0 Preview) |
| 最后验证 | 2026-09-12 |
| 测试环境 | Linux / x86_64 / 16GB RAM |
| 官方文档 | [DuckDB Documentation](https://duckdb.org/docs/) |
| GitHub | [pengzz9527/duckdb-blog](https://github.com/pengzz9527/duckdb-blog) |

如发现错误,欢迎通过 [GitHub Issue](https://github.com/pengzz9527/duckdb-blog/issues) 或邮件 [email protected] 反馈。

📺 Watch video tutorials → Olap Studio YouTube

Subscribe for more DuckDB & AI automation tutorials

使用 Hugo 构建
主题 Stack 由 Jimmy 设计