台灣資料新聞工作流程
資料新聞是新聞,不是資料科學。本 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 |
醫療給付資料 |
三、資料清理(常見台灣坑)
政府資料常見問題
- PDF 表格不能直接複製:用 Tabula、Camelot 提取
- 多重 sheet 不一致:Excel 多檔合併需注意欄位順序
- 中文編碼:Big5 vs UTF-8 — pandas
encoding='cp950' 或 encoding='utf-8'
- 民國年 vs 西元:全篇統一(資料導入時轉換)
- 行政區改制:2010-2014 縣市合併改制(台北縣→新北市、桃園縣→桃園市、台中縣市合併、台南縣市合併、高雄縣市合併);分析跨年資料時必須處理
- 欄位有合併儲存格:Excel 合併儲存格匯出 CSV 會變空白
- 千分位逗號:「1,234,567」要用
str.replace(',','') 再轉數字
- 負數用「-」 vs 「(123)」:財報常用括號表負數
- 遮蔽資料:身分證、姓名遮蔽為「○」「***」,要過濾
工具
| 工具 |
用途 |
| 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?:政策建議
「資料故事」三層
- The lede:一句話,最有衝擊之數字
- The context:這數字代表什麼脈絡
- The implication:對讀者意義
範例:
壞範例:「台北市公務員平均薪資 70,123 元。」
好範例:「台北市公務員平均薪資 70,123 元,比同年齡層
私部門高 35%;若計入年終獎金與退休金,差距達 60%。」
七、數據查核(整合 fact-check-workflow-tw)
每個數據主張在發稿前必須:
- [ ] 來源已記錄(機關名、報告名、頁數、日期)
- [ ] 原始檔案存檔
- [ ] 計算邏輯獨立重算
- [ ] 樣本量註明
- [ ] 抽樣方法評估(若為調查資料)
- [ ] 時間範圍清楚
- [ ] 比較基準說明
- [ ] 來源已截圖 + 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、台灣行政區圖資、台灣政黨色注意事項
1---2name: data-journalism-tw3description: 台灣資料新聞工作流程 (繁體中文/台灣專用版,對應 upstream data-journalism 的美國版)。涵蓋:資料新聞工作流 (取得→清理→分析→視覺化→敘事)、台灣主要資料來源 (政府開放資料平台、主計總處、各部會 API、CMoney、Goodinfo、TWSE 公開資訊觀測站)、資料清理工具 (pandas、OpenRefine)、視覺化工具 (Datawrapper、Flourish、g0v ChartCheck)、敘事結構、數據查核 (與 fact-check-workflow-tw 整合)、開放資料倫理。撰寫資料報導、政府開放資料分析、選舉資料視覺化、預決算追蹤時觸發。資料記者、調查報導、新聞工程師必備。4---56# 台灣資料新聞工作流程78資料新聞**是新聞,不是資料科學**。本 skill 提供從取得資料、清理、分析、視覺化到敘事的台灣場景工作流。910---1112## 何時使用1314- 撰寫含資料分析之深度報導15- 政府開放資料探勘16- 選舉資料、政治獻金分析17- 預決算追蹤18- 公開資訊觀測站(上市櫃公司)19- 政府採購、不動產實價登錄20- 災害數據、空污、流行病數據21- 製作互動圖表2223---2425## 一、資料新聞工作流2627```28[1. 識別問題] ← 從新聞問題出發,而非從資料出發29 ↓30[2. 取得資料] ← 台灣公開資料、API、爬蟲、政資法申請31 ↓32[3. 清理整理] ← OpenRefine、pandas、Excel33 ↓34[4. 探索分析] ← 描述統計、視覺化、交叉比對35 ↓36[5. 查核] ← 觸發 fact-check-workflow-tw37 ↓38[6. 視覺化] ← Datawrapper、Flourish、g0v、自製39 ↓40[7. 敘事] ← 找故事、選圖表、寫稿41 ↓42[8. 發稿]43```4445**核心原則**:資料應該**回答**新聞問題,而非**創造**新聞問題。4647---4849## 二、台灣主要資料來源5051### 政府開放資料5253| 平台 | 用途 | 網址 |54|---|---|---|55| **政府資料開放平臺** | 全國機關開放資料集匯總 | data.gov.tw |56| **行政院公報資訊網** | 公報、令、處分公告 | gazette.nat.gov.tw |57| **行政院主計總處** | 人口、經濟、薪資、物價 | stat.gov.tw |58| **內政部統計處** | 戶政、地政、人口 | moi.gov.tw |59| **教育部統計處** | 教育、學校 | stats.moe.gov.tw |60| **衛福部統計處** | 健康、社福 | dep.mohw.gov.tw |61| **勞動部統計處** | 就業、薪資、勞動條件 | mol.gov.tw |62| **環境部** | 空品、水質、廢棄物 | data.moenv.gov.tw |63| **中央氣象署** | 氣候、地震、海象 | cwa.gov.tw |64| **農業部** | 農漁畜產、價格、生產 | data.coa.gov.tw |65| **公開資訊觀測站** | 上市櫃公司財報、董監事 | mops.twse.com.tw |66| **臺灣證券交易所** | 股市資料、上市公司 | twse.com.tw |67| **政府電子採購網** | 標案、決標、廠商 | web.pcc.gov.tw |68| **不動產實價登錄** | 房地產交易實價 | lvr.land.moi.gov.tw |69| **中央選舉委員會** | 選舉結果、候選人、政治獻金 | cec.gov.tw |70| **司法院法學資料檢索** | 全國判決 | judgment.judicial.gov.tw |71| **立法院議事暨公報** | 質詢、議案、投票紀錄 | ppg.ly.gov.tw |72| **監察院** | 糾正案、彈劾、申訴 | cy.gov.tw |73| **審計部** | 中央與地方審計報告 | audit.gov.tw |7475### 民間/商業資料服務7677| 工具 | 用途 |78|---|---|79| **CMoney** | 台股、財經數據(免費 + 付費) |80| **Goodinfo** | 台股技術分析、產業比較(免費) |81| **g0v 各專案** | 公民協作資料庫(立委投票指南、議員投票指南、財產申報、政治獻金等) |82| **OCCRP Aleph** | 全球文件與實體搜尋 |83| **OpenCorporates** | 全球公司登記 |8485### 開放 API8687| 來源 | 用途 |88|---|---|89| data.gov.tw API | 結構化資料拉取 |90| **TAIDE / OPENAI / Claude API** | 用於文本資料分析 |91| **PTT Crawler** (g0v) | 鄉民言論研究 |92| **立法院投票指南 API** (g0v) | 立委投票紀錄 |93| **Cofacts API** | 假訊息資料庫 |94| **健保署 API** | 醫療給付資料 |9596---9798## 三、資料清理(常見台灣坑)99100### 政府資料常見問題1011021. **PDF 表格不能直接複製**:用 Tabula、Camelot 提取1032. **多重 sheet 不一致**:Excel 多檔合併需注意欄位順序1043. **中文編碼**:Big5 vs UTF-8 — pandas `encoding='cp950'` 或 `encoding='utf-8'`1054. **民國年 vs 西元**:全篇統一(資料導入時轉換)1065. **行政區改制**:2010-2014 縣市合併改制(台北縣→新北市、桃園縣→桃園市、台中縣市合併、台南縣市合併、高雄縣市合併);分析跨年資料時必須處理1076. **欄位有合併儲存格**:Excel 合併儲存格匯出 CSV 會變空白1087. **千分位逗號**:「1,234,567」要用 `str.replace(',','')` 再轉數字1098. **負數用「-」** vs 「(123)」:財報常用括號表負數1109. **遮蔽資料**:身分證、姓名遮蔽為「○」「***」,要過濾111112### 工具113114| 工具 | 用途 |115|---|---|116| **pandas** (Python) | 中型資料處理(< 10 GB) |117| **OpenRefine** | 互動式清理、去重、標準化 |118| **Excel + Power Query** | 一般記者熟悉 |119| **DuckDB** | 直接查 CSV / Parquet 大資料 |120| **Tabula、Camelot** | 從 PDF 提取表格 |121122---123124## 四、分析與探索125126### 描述統計優先127128新聞讀者**只懂簡單統計**:平均、中位數、眾數、極值、比例。**避免標準差、P 值**(除非報導科學論文)。129130### 交叉比對(台灣常見 use case)131132- **政府採購** × **候選人政治獻金**(可揭採購黑箱)133- **不動產實價登錄** × **戶政人口**(可分析房價負擔)134- **預決算** × **施政計畫**(可看政策落實度)135- **健保給付** × **疾病統計**(醫療公平性)136- **立委投票紀錄** × **政黨立場**(立委個人風格)137138### 注意事項139140- **不要過度解讀小樣本**141- **不要混淆「相關」與「因果」**142- **比例 vs 絕對值**:1,000 萬人中 1,000 人罹病 vs 100 萬人中 100 人罹病,**比例相同但絕對量不同**143- **倖存者偏誤**:研究現存企業 vs 倒閉企業 = 結論偏差144- **基期差異**:%成長率對小基期數字敏感(「增長 100%」可能是「從 1 變 2」)145146---147148## 五、視覺化工具(2026 推薦)149150| 工具 | 強項 | 學習門檻 |151|---|---|---|152| **Datawrapper** | 新聞用首選,自動產生互動圖、自動 RWD | 低 |153| **Flourish** | 動畫圖、選舉地圖、漸進揭示 | 中 |154| **Tableau Public** | 互動 dashboard | 中 |155| **g0v ChartCheck** | 公民協作圖表庫 | 低 |156| **D3.js** | 完全客製,需 JS | 高 |157| **Observable** | 互動 notebook | 中 |158| **Python (Plotly、matplotlib)** | 報告型靜態圖 | 中 |159| **R (ggplot2)** | 學術級靜態圖 | 高 |160161### 台灣場景注意162163- **行政區地圖**:用**內政部 SHP 檔**(地理資訊圖資雲服務平台 nlsc.gov.tw),不要用維基百科的 SVG164- **6 都與其他縣市顯著不同**:同尺度比較不易165- **離島**(金門、馬祖、澎湖):視覺化時記得包含166- **顏色選擇**:政黨色(綠 = 民進黨、藍 = 國民黨、白 = 民眾黨、橘 = 親民黨)時要謹慎,並向色盲、印刷友善167168---169170## 六、敘事:從資料到故事171172### 找故事的問句173174- **What changed?**:歷年比較,什麼變了?175- **Who's different?**:跨機構、跨縣市、跨族群,誰異常?176- **Why does it matter?**:對誰有影響?多少人受影響?177- **What's hidden?**:資料中之異常、未被注意之 pattern178- **What should be done?**:政策建議179180### 「資料故事」三層1811821. **The lede**:一句話,最有衝擊之數字1832. **The context**:這數字代表什麼脈絡1843. **The implication**:對讀者意義185186範例:187188```189壞範例:「台北市公務員平均薪資 70,123 元。」190好範例:「台北市公務員平均薪資 70,123 元,比同年齡層191私部門高 35%;若計入年終獎金與退休金,差距達 60%。」192```193194---195196## 七、數據查核(整合 fact-check-workflow-tw)197198每個數據主張在發稿前必須:199200```markdown201- [ ] 來源已記錄(機關名、報告名、頁數、日期)202- [ ] 原始檔案存檔203- [ ] 計算邏輯獨立重算204- [ ] 樣本量註明205- [ ] 抽樣方法評估(若為調查資料)206- [ ] 時間範圍清楚207- [ ] 比較基準說明208- [ ] 來源已截圖 + Wayback 存檔209```210211> 詳細查核流程見 `fact-check-workflow-tw` §三~六。212213---214215## 八、開放資料倫理216217- **再次身分化風險**:政府開放資料常做 K-anonymity,但**多資料源交叉**可能還原身分(健保 + 戶政 + 社群足跡)。**新聞報導不應主動進行此類交叉**218- **個案隱私**:從統計推回個案是禁忌(例:「桃園市 ○ 區 ○ 月 ○ 日 ○ 點唯一車禍受害者是 ○ ○ ○」)219- **詳細不應公開的精準**:行政區、學校名、醫院名要視議題斟酌(報導霸凌不應指認特定學生)220- **開放資料 ≠ 完全公開使用**:有些開放資料附 CC BY 或政府著作權,引用須註明221222---223224## 與其他 -tw skill 協作225226### 工作流串接227228```229[資料蒐集]230 ├── data-journalism-tw ← 你在這裡(取得 + 清理 + 分析)231 └── foia-requests-tw 若資料未開放,寫政資法申請書232 ↓233[查核] ← fact-check-workflow-tw 數據主張之查核234 ↓235[視覺化] ← Datawrapper / Flourish / g0v236 ↓237[敘事撰稿]238 ├── ai-writing-detox-tw 去 AI 味239 └── newsroom-style-tw 數字寫法(阿拉伯 vs 中文)、千分位240 ↓241[發稿]242```243244### 重疊處理245246- **數字寫法**:247 - `data-journalism-tw`:分析時用阿拉伯(對齊試算表)248 - `newsroom-style-tw` §一:**發稿時依公文書數字使用原則** — 千分位用「,」、整數位用萬/億單位249 - **以 `newsroom-style-tw` 為發稿準則**250251- **資料來源描述**:252 - `data-journalism-tw`:精準描述機關、報告、頁數253 - `newsroom-style-tw` §六:機關名稱第一次全名 + 簡稱規則254 - **兩者搭配**255256- **資料未公開**:257 - `data-journalism-tw`:確認需要哪些資料258 - `foia-requests-tw`:寫政資法申請書259260---261262**版本說明**263264- 版本:1.0.1 / 截至 2026-05-28265- 改寫自 upstream `journalism-core/data-journalism`266- 在地化重點:19 個台灣政府開放資料來源、5 個民間資料服務、台灣資料清理常見坑(縣市改制、民國/西元、編碼)、台灣選舉與政府資料 use case、台灣行政區圖資、台灣政黨色注意事項