# Data Journalism Tw

> 台灣資料新聞工作流程 (繁體中文/台灣專用版,對應 upstream data-journalism 的美國版)。涵蓋:資料新聞工作流 (取得→清理→分析→視覺化→敘事)、台灣主要資料來源 (政府開放資料平台、主計總處、各部會 API、CMoney、Goodinfo、TWSE 公開資訊觀測站)、資料清理工具 (pandas、OpenRefine)、視覺化工具 (Datawrapper、Flourish、g0v ChartCheck)、敘事結構、數據查核 (與 fact-check-workflow-tw 整合)、開放資料倫理。撰寫資料報導、政府開放資料分析、選舉資料視覺化、預決算追蹤時觸發。資料記者、調查報導、新聞工程師必備。

- Skill: `richardvt/data-journalism-tw` (Agent Skill)
- Install (CLI): `npx skillmds@latest add richardvt/data-journalism-tw`
- Raw SKILL.md: https://api.skillmd.com/api/skills/richardvt/data-journalism-tw/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: richardvt (https://skillmd.com/u/richardvt)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/richardvt/data-journalism-tw

---


# 台灣資料新聞工作流程

資料新聞**是新聞,不是資料科學**。本 skill 提供從取得資料、清理、分析、視覺化到敘事的台灣場景工作流。

---

## 何時使用

- 撰寫含資料分析之深度報導
- 政府開放資料探勘
- 選舉資料、政治獻金分析
- 預決算追蹤
- 公開資訊觀測站(上市櫃公司)
- 政府採購、不動產實價登錄
- 災害數據、空污、流行病數據
- 製作互動圖表

---

## 一、資料新聞工作流

```
[1. 識別問題]       ← 從新聞問題出發,而非從資料出發
       ↓
[2. 取得資料]       ← 台灣公開資料、API、爬蟲、政資法申請
       ↓
[3. 清理整理]       ← OpenRefine、pandas、Excel
       ↓
[4. 探索分析]       ← 描述統計、視覺化、交叉比對
       ↓
[5. 查核]           ← 觸發 fact-check-workflow-tw
       ↓
[6. 視覺化]         ← Datawrapper、Flourish、g0v、自製
       ↓
[7. 敘事]           ← 找故事、選圖表、寫稿
       ↓
[8. 發稿]
```

**核心原則**:資料應該**回答**新聞問題,而非**創造**新聞問題。

---

## 二、台灣主要資料來源

### 政府開放資料

| 平台 | 用途 | 網址 |
|---|---|---|
| **政府資料開放平臺** | 全國機關開放資料集匯總 | data.gov.tw |
| **行政院公報資訊網** | 公報、令、處分公告 | gazette.nat.gov.tw |
| **行政院主計總處** | 人口、經濟、薪資、物價 | stat.gov.tw |
| **內政部統計處** | 戶政、地政、人口 | moi.gov.tw |
| **教育部統計處** | 教育、學校 | stats.moe.gov.tw |
| **衛福部統計處** | 健康、社福 | dep.mohw.gov.tw |
| **勞動部統計處** | 就業、薪資、勞動條件 | mol.gov.tw |
| **環境部** | 空品、水質、廢棄物 | data.moenv.gov.tw |
| **中央氣象署** | 氣候、地震、海象 | cwa.gov.tw |
| **農業部** | 農漁畜產、價格、生產 | data.coa.gov.tw |
| **公開資訊觀測站** | 上市櫃公司財報、董監事 | mops.twse.com.tw |
| **臺灣證券交易所** | 股市資料、上市公司 | twse.com.tw |
| **政府電子採購網** | 標案、決標、廠商 | web.pcc.gov.tw |
| **不動產實價登錄** | 房地產交易實價 | lvr.land.moi.gov.tw |
| **中央選舉委員會** | 選舉結果、候選人、政治獻金 | cec.gov.tw |
| **司法院法學資料檢索** | 全國判決 | judgment.judicial.gov.tw |
| **立法院議事暨公報** | 質詢、議案、投票紀錄 | ppg.ly.gov.tw |
| **監察院** | 糾正案、彈劾、申訴 | cy.gov.tw |
| **審計部** | 中央與地方審計報告 | audit.gov.tw |

### 民間/商業資料服務

| 工具 | 用途 |
|---|---|
| **CMoney** | 台股、財經數據(免費 + 付費) |
| **Goodinfo** | 台股技術分析、產業比較(免費) |
| **g0v 各專案** | 公民協作資料庫(立委投票指南、議員投票指南、財產申報、政治獻金等) |
| **OCCRP Aleph** | 全球文件與實體搜尋 |
| **OpenCorporates** | 全球公司登記 |

### 開放 API

| 來源 | 用途 |
|---|---|
| data.gov.tw API | 結構化資料拉取 |
| **TAIDE / OPENAI / Claude API** | 用於文本資料分析 |
| **PTT Crawler** (g0v) | 鄉民言論研究 |
| **立法院投票指南 API** (g0v) | 立委投票紀錄 |
| **Cofacts API** | 假訊息資料庫 |
| **健保署 API** | 醫療給付資料 |

---

## 三、資料清理(常見台灣坑)

### 政府資料常見問題

1. **PDF 表格不能直接複製**:用 Tabula、Camelot 提取
2. **多重 sheet 不一致**:Excel 多檔合併需注意欄位順序
3. **中文編碼**:Big5 vs UTF-8 — pandas `encoding='cp950'` 或 `encoding='utf-8'`
4. **民國年 vs 西元**:全篇統一(資料導入時轉換)
5. **行政區改制**:2010-2014 縣市合併改制(台北縣→新北市、桃園縣→桃園市、台中縣市合併、台南縣市合併、高雄縣市合併);分析跨年資料時必須處理
6. **欄位有合併儲存格**:Excel 合併儲存格匯出 CSV 會變空白
7. **千分位逗號**:「1,234,567」要用 `str.replace(',','')` 再轉數字
8. **負數用「-」** vs 「(123)」:財報常用括號表負數
9. **遮蔽資料**:身分證、姓名遮蔽為「○」「***」,要過濾

### 工具

| 工具 | 用途 |
|---|---|
| **pandas** (Python) | 中型資料處理(< 10 GB) |
| **OpenRefine** | 互動式清理、去重、標準化 |
| **Excel + Power Query** | 一般記者熟悉 |
| **DuckDB** | 直接查 CSV / Parquet 大資料 |
| **Tabula、Camelot** | 從 PDF 提取表格 |

---

## 四、分析與探索

### 描述統計優先

新聞讀者**只懂簡單統計**:平均、中位數、眾數、極值、比例。**避免標準差、P 值**(除非報導科學論文)。

### 交叉比對(台灣常見 use case)

- **政府採購** × **候選人政治獻金**(可揭採購黑箱)
- **不動產實價登錄** × **戶政人口**(可分析房價負擔)
- **預決算** × **施政計畫**(可看政策落實度)
- **健保給付** × **疾病統計**(醫療公平性)
- **立委投票紀錄** × **政黨立場**(立委個人風格)

### 注意事項

- **不要過度解讀小樣本**
- **不要混淆「相關」與「因果」**
- **比例 vs 絕對值**:1,000 萬人中 1,000 人罹病 vs 100 萬人中 100 人罹病,**比例相同但絕對量不同**
- **倖存者偏誤**:研究現存企業 vs 倒閉企業 = 結論偏差
- **基期差異**:%成長率對小基期數字敏感(「增長 100%」可能是「從 1 變 2」)

---

## 五、視覺化工具(2026 推薦)

| 工具 | 強項 | 學習門檻 |
|---|---|---|
| **Datawrapper** | 新聞用首選,自動產生互動圖、自動 RWD | 低 |
| **Flourish** | 動畫圖、選舉地圖、漸進揭示 | 中 |
| **Tableau Public** | 互動 dashboard | 中 |
| **g0v ChartCheck** | 公民協作圖表庫 | 低 |
| **D3.js** | 完全客製,需 JS | 高 |
| **Observable** | 互動 notebook | 中 |
| **Python (Plotly、matplotlib)** | 報告型靜態圖 | 中 |
| **R (ggplot2)** | 學術級靜態圖 | 高 |

### 台灣場景注意

- **行政區地圖**:用**內政部 SHP 檔**(地理資訊圖資雲服務平台 nlsc.gov.tw),不要用維基百科的 SVG
- **6 都與其他縣市顯著不同**:同尺度比較不易
- **離島**(金門、馬祖、澎湖):視覺化時記得包含
- **顏色選擇**:政黨色(綠 = 民進黨、藍 = 國民黨、白 = 民眾黨、橘 = 親民黨)時要謹慎,並向色盲、印刷友善

---

## 六、敘事:從資料到故事

### 找故事的問句

- **What changed?**:歷年比較,什麼變了?
- **Who's different?**:跨機構、跨縣市、跨族群,誰異常?
- **Why does it matter?**:對誰有影響?多少人受影響?
- **What's hidden?**:資料中之異常、未被注意之 pattern
- **What should be done?**:政策建議

### 「資料故事」三層

1. **The lede**:一句話,最有衝擊之數字
2. **The context**:這數字代表什麼脈絡
3. **The implication**:對讀者意義

範例:

```
壞範例:「台北市公務員平均薪資 70,123 元。」
好範例:「台北市公務員平均薪資 70,123 元,比同年齡層
私部門高 35%;若計入年終獎金與退休金,差距達 60%。」
```

---

## 七、數據查核(整合 fact-check-workflow-tw)

每個數據主張在發稿前必須:

```markdown
- [ ] 來源已記錄(機關名、報告名、頁數、日期)
- [ ] 原始檔案存檔
- [ ] 計算邏輯獨立重算
- [ ] 樣本量註明
- [ ] 抽樣方法評估(若為調查資料)
- [ ] 時間範圍清楚
- [ ] 比較基準說明
- [ ] 來源已截圖 + Wayback 存檔
```

> 詳細查核流程見 `fact-check-workflow-tw` §三~六。

---

## 八、開放資料倫理

- **再次身分化風險**:政府開放資料常做 K-anonymity,但**多資料源交叉**可能還原身分(健保 + 戶政 + 社群足跡)。**新聞報導不應主動進行此類交叉**
- **個案隱私**:從統計推回個案是禁忌(例:「桃園市 ○ 區 ○ 月 ○ 日 ○ 點唯一車禍受害者是 ○ ○ ○」)
- **詳細不應公開的精準**:行政區、學校名、醫院名要視議題斟酌(報導霸凌不應指認特定學生)
- **開放資料 ≠ 完全公開使用**:有些開放資料附 CC BY 或政府著作權,引用須註明

---

## 與其他 -tw skill 協作

### 工作流串接

```
[資料蒐集]
   ├── data-journalism-tw  ← 你在這裡(取得 + 清理 + 分析)
   └── foia-requests-tw    若資料未開放,寫政資法申請書
       ↓
[查核] ← fact-check-workflow-tw   數據主張之查核
       ↓
[視覺化] ← Datawrapper / Flourish / g0v
       ↓
[敘事撰稿]
   ├── ai-writing-detox-tw    去 AI 味
   └── newsroom-style-tw      數字寫法(阿拉伯 vs 中文)、千分位
       ↓
[發稿]
```

### 重疊處理

- **數字寫法**:
  - `data-journalism-tw`:分析時用阿拉伯(對齊試算表)
  - `newsroom-style-tw` §一:**發稿時依公文書數字使用原則** — 千分位用「,」、整數位用萬/億單位
  - **以 `newsroom-style-tw` 為發稿準則**

- **資料來源描述**:
  - `data-journalism-tw`:精準描述機關、報告、頁數
  - `newsroom-style-tw` §六:機關名稱第一次全名 + 簡稱規則
  - **兩者搭配**

- **資料未公開**:
  - `data-journalism-tw`:確認需要哪些資料
  - `foia-requests-tw`:寫政資法申請書

---

**版本說明**

- 版本:1.0.1 / 截至 2026-05-28
- 改寫自 upstream `journalism-core/data-journalism`
- 在地化重點:19 個台灣政府開放資料來源、5 個民間資料服務、台灣資料清理常見坑(縣市改制、民國/西元、編碼)、台灣選舉與政府資料 use case、台灣行政區圖資、台灣政黨色注意事項

