DuckDB 实战笔记 - 2026-08-26
🛠 周三 · 工具链搭建 DuckDB 多文件 ETL 管道:10 行代码搞定海量 CSV 合并分析
你是数据分析师,每天要处理几十个部门上传的 CSV 文件。Excel 早就卡死了,Python 循环又慢得让人想辞职。
今天教你用 DuckDB 一行 SQL 搞定多文件 ETL:
import duckdb
result = duckdb.sql("""
SELECT department, COUNT(*) as orders, SUM(amount) as total_sales, AVG(amount) as avg_order
FROM 'sales/2026/*.csv'
GROUP BY department ORDER BY total_sales DESC
""").df()
print(result)为什么用 DuckDB 而不是 pandas?
• 懒加载 + 谓词下推:只读你需要的列 • 并行读取:多核 CPU 同时处理多个文件 • 内存智能:大文件自动 spill 到磁盘 • 零配置:pip install duckdb
实际场景:100 个 CSV(每个 50MB),传统方案 20 分钟,DuckDB 2 分钟出结果。
进阶技巧:自动发现文件结构:
SELECT column_name, column_type FROM (SELECT * FROM 'sales/2026/*.csv') LIMIT 0;