<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ETL开发 on 老张开工了</title>
    <link>/etl%E5%BC%80%E5%8F%91/</link>
    <description>Recent content in ETL开发 on 老张开工了</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Tue, 21 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="/etl%E5%BC%80%E5%8F%91/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Python ETL 实践</title>
      <link>/posts/2026/04/etl-python/</link>
      <pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/04/etl-python/</guid>
      <description>为什么用 Python 做 ETL？ Python 是数据工程领域最受欢迎的语言之一。原因很简单：语法简洁、生态丰富、社区庞大。对于 ETL 开发来说，Python 的优势尤其明显。&#xA;Python 拥有几乎所有数据源对应的库。连接数据库有 SQLAlchemy 和 psycopg2，处理文件有 Pandas 和 PyArrow，调用 API 有 requests 和 httpx，操作云存储有 boto3 和 google-cloud-storage。你几乎不需要从零开始写任何底层代码。&#xA;另一个关键优势是灵活性。SQL 擅长做声明式的数据转换，但遇到复杂的业务逻辑、条件分支、循环处理时，Python 的表达力远超 SQL。ETL 流程中那些脏活累活——数据清洗、异常处理、重试机制、日志记录——用 Python 写起来得心应手。&#xA;核心库速览 Pandas：数据转换的主力 Pandas 是 Python ETL 中最核心的库。它提供了 DataFrame 数据结构，可以理解为一个内存中的表格，支持各种数据操作：过滤、聚合、关联、透视、窗口函数等。&#xA;`python import pandas as pd&#xA;从 CSV 读取数据 df = pd.read_csv(&amp;ldquo;sales.csv&amp;rdquo;)&#xA;数据清洗 df = df.dropna(subset=[&amp;ldquo;amount&amp;rdquo;]) df[&amp;ldquo;amount&amp;rdquo;] = df[&amp;ldquo;amount&amp;rdquo;].clip(lower=0) # 过滤负值&#xA;数据转换 df[&amp;ldquo;order_month&amp;rdquo;] = pd.to_datetime(df[&amp;ldquo;order_date&amp;rdquo;]).dt.to_period(&amp;ldquo;M&amp;rdquo;) df[&amp;ldquo;total_price&amp;rdquo;] = df[&amp;ldquo;quantity&amp;rdquo;] * df[&amp;ldquo;unit_price&amp;rdquo;]</description>
    </item>
  </channel>
</rss>
