> For the complete documentation index, see [llms.txt](https://ndw777.gitbook.io/manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ndw777.gitbook.io/manual/data.md).

# 資料處理

查詢分頁能查到什麼，全看這裡做了什麼。這個分頁負責把開放資料下載回來、合併成查詢檔。

<table><thead><tr><th width="255.6859130859375">子分頁</th><th>做什麼</th></tr></thead><tbody><tr><td><a href="/manual/data/download.md">資料集下載與更新</a></td><td>下載 24 個資料集、檢查更新、直接換掉查詢檔裡的單一張表</td></tr><tr><td><a href="/manual/data/build-database.md">整合查詢檔製作</a></td><td>把所有資料集合併成一個新的查詢檔</td></tr><tr><td><a href="/manual/data/build-ingredient-database.md">成分查詢檔製作</a></td><td>做「同成分查詢」專用的檔</td></tr><tr><td><a href="/manual/data/other-tools.md">其他資料工具</a></td><td>中醫藥司中藥許可證下載、仿單路徑修正、許可證號產生、自有藥品明細整理</td></tr></tbody></table>

## 日常該做什麼

**平常**：程式啟動時若提醒「某些資料集超過 30 天沒更新」，按「前往資料處理」，到資料集下載按**檢查更新**看哪些資料有更新。或直接按**下載並更新**。這會直接換掉查詢檔裡的那幾張表，不必整份重做。

**偶爾**：換過很多次表之後，或是想從乾淨的狀態重來，用「整合查詢檔製作」整份重做一次。注意這會產生**新的檔案**（檔名日期是今天），查詢分頁會改讀新的那份。

**更新完記得**：成分查詢檔不會跟著更新。如果你有在用「同成分查詢」，更新完要再到「成分查詢檔製作」重做一次。

## 兩道保險

政府的開放資料連結常常失效，而且**失效時不是回 404，是回一頁 HTML 錯誤頁**。如果照單全收，查詢檔裡就會多出一張「只有一欄一列、欄名是 `<html><head>...`」的表，而且因為檔名日期比較新，查詢分頁會立刻改讀它。

所以程式在兩個地方把關：

1. **下載時驗內容**：擋掉 HTML、檔案長度對不上（連線中途斷掉）、空檔。驗完才覆蓋原本的檔案。
2. **寫進查詢檔前驗資料**：舊表有的欄位不能少、筆數不能腰斬（舊表至少 1000 列才檢查）。擋下來時會**保留舊表**，並在完成訊息裡告訴你哪幾張沿用了舊資料。
