> 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/download.md).

# 資料集下載與更新

從 `data/opendata/opendata.xlsx` 讀來源清單，下載並更新查詢檔。

<figure><img src="https://2425769477-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fa2UoEV34DNk0WQY3del7%2Fuploads%2FajcolPiXUG9DZaFa6fbv%2Fimage.png?alt=media&amp;token=31b2bb87-dea9-4700-93af-8083599f9e92" alt=""><figcaption></figcaption></figure>

## 按鈕

<table><thead><tr><th width="313.5372314453125">按鈕</th><th>做什麼</th></tr></thead><tbody><tr><td><strong>下載</strong></td><td>只下載選取的那一筆，<strong>只存檔</strong></td></tr><tr><td><strong>全部下載</strong></td><td>多執行緒一次全抓，<strong>只存檔</strong></td></tr><tr><td><strong>檢查更新</strong></td><td>比對哪些資料集有新版</td></tr><tr><td><strong>下載並更新</strong></td><td>下載完<strong>直接換掉查詢檔裡對應的那張表</strong></td></tr><tr><td><strong>停止下載</strong></td><td>中斷</td></tr><tr><td><strong>重新載入</strong></td><td>重讀清單與查詢檔時間</td></tr><tr><td><strong>編輯來源</strong></td><td>開 <code>opendata.xlsx</code></td></tr></tbody></table>

> **只有「下載並更新」會動到查詢檔**。「下載」與「全部下載」只是把原始檔存到 `data/opendata`。

## 日常流程

1. 按「**檢查更新**」
2. 看「**有更新**」欄有哪些資料有更新，按「**下載並更新**」
3. 程式將自動把查詢檔裡的個別資料集更新

完成後查詢分頁馬上讀得到新資料，**不必重開程式、也不必重做查詢檔**。

## 「有更新」欄的四種狀態

| 狀態        | 意思               |
| --------- | ---------------- |
| **有更新**   | 來源的資料比你手上的新      |
| **沒有更新**  | 已是最新             |
| **不支援檢查** | 該站沒有「資料更新時間」這個欄位 |
| **查詢失敗**  | 連不上或解析失敗         |

> **「沒有更新」不保證資料完全沒變**。比對的是詳述資料的更新時間，而它不一定反映每日的資料異動

## 「查詢檔資料時間」欄

顯示查詢檔裡那張表的資料日期，也就是比對的基準：

* 有紀錄 → 顯示下載時間
* 無紀錄 → 顯示「日期（檔名）」
* 查詢檔沒這張表 → 顯示「（查詢檔無此表）」

## 換表被擋下來的三種情況

下載回來的新資料有問題時，程式會**擋下來並保留舊表**：

1. **舊欄位有缺**（查詢分頁的欄名是寫死的）
2. **筆數降到一半以下**（舊表至少 1000 列才檢查；短缺表常只有個位數）
3. **檔案被占用**（會等 30 秒）

新增的欄位會照換並在訊息裡回報。

## 兩個資料集沒有網址

**中藥用藥品項表**與**中醫藥許可證**沒有下載網址，要自己把檔案放進 `data/opendata`，再用「整合查詢檔製作」的「更新到現有查詢檔」換進去。

中藥許可證也可以用[其他資料工具](/manual/data/other-tools.md)裡的下載器抓。

## 成分查詢檔不會跟著更新

它直接讀原始 CSV，不走換表這條路。完成訊息會提醒你重做。
