要在 Excel 把 CSV 轉成 JSON 且不遺失資料,需要遵守 RFC 4180 規則的剖析器,才能正確處理引號內逗號、內嵌換行與 UTF-8 字元。Excel 原生的 CSV 匯出會去掉引號,並截斷多行儲存格,進而破壞 JSON 字串。CSV To JSON 工具的解法是在瀏覽器本機剖析 CSV,把每個儲存格值都當 JSON 字串,並匯出物件陣列,其鍵為第一列標頭。此做法保證引號欄位內的逗號、列結尾與非 ASCII 字元保持原樣,產出可立即用於指令碼、API 或資料庫的有效 JSON。
多數線上轉換器不是把資料上傳到伺服器,就是默默丟掉引號與換行,有資料損毀風險。CSV To JSON 完全在瀏覽器執行,敏感資料不會離開你的電腦。它也會顯示已剖析資料的即時摘要——列數、欄數、儲存格數與輸出大小——讓你在複製或下載 JSON 檔前先核對轉換結果。無論你是把 Excel 資料移到網頁應用程式、餵給 REST API,還是封存紀錄,此工具都能確保 JSON 輸出與原始 CSV 完全相符。

為何 Excel 原生 CSV 匯出無法用於 JSON
Excel 儲存 CSV 檔時格式極簡:不含逗號或換行的儲存格會被去掉引號,換行則被取代成空格。之後把該 CSV 轉成 JSON 時,得到的字串會失去原始結構。例如,含有 "New York, NY" 的儲存格在 CSV 中會變成 New York, NY,JSON 剖析器會把它當成兩個獨立值。同樣地,多行地址會變成單行,破壞原本的格式。
CSV To JSON 把每個儲存格都當 JSON 字串,原樣保留引號、逗號與換行,從而避開這些陷阱。此工具也強制套用 RFC 4180 規則,該規則定義 CSV 檔應如何處理引號欄位與內嵌分隔符。這可確保與其他期望嚴格 CSV 格式的工具與系統相容。
如何用 CSV To JSON 在 Excel 把 CSV 轉成 JSON
- 在 Excel 開啟 CSV 檔,確認第一列含有唯一且非空的標頭名稱。這些標頭會成為 JSON 物件的鍵。
- 選取全部資料(含標頭)並複製到剪貼簿。若資料含多行儲存格或引號內逗號,請確認 Excel 的 CSV 匯出沒有把它們去掉——若已去掉,請手動加回引號,或用文字編輯器修正 CSV 後再繼續。
- 在瀏覽器開啟CSV To JSON 工具。把 CSV 資料貼到輸入區。工具會立即剖析資料,並顯示列數、欄數、儲存格數與估計 JSON 輸出大小的摘要。
- 檢視摘要以確認資料剖析正確。若摘要顯示的列數或欄數比預期少,請檢查 CSV 是否缺標頭或引號格式錯誤。
- 往下捲動查看 JSON 輸出。每個值都保留成字串,引號、逗號與換行完整。用「Copy」按鈕把 JSON 複製到剪貼簿,或點「Download」儲存
converted.json檔。 - 把 JSON 貼到指令碼、API 請求或資料庫。若 JSON 要用在網頁應用程式,也可用JSON Validator 驗證,以抓出語法錯誤。
處理 Excel 中常見的 CSV 轉 JSON 陷阱
| 問題 | Excel 的行為 | CSV To JSON 的解法 |
|---|---|---|
| 儲存格中的引號內逗號 | 去掉引號,把儲存格拆成多個值 | 保留引號,把整個儲存格當單一 JSON 字串 |
| 多行儲存格 | 把換行取代成空格 | 把換行保留成 \n 寫在 JSON 字串裡 |
| 空白儲存格 | 完全省略該欄位 | 仍包含該欄位,值為 null 或空字串 |
| UTF-8 字元 | 可能損毀或取代非 ASCII 字元 | 保留所有 UTF-8 字元,包括表情符號與帶音調字母 |
| 重複標頭 | 允許重複,造成 JSON 鍵衝突 | 標頭不唯一時拒絕該 CSV |
當 CSV 含地址、產品說明或使用者產生內容時,這些差異最關鍵。例如,像 "T-shirt, size M, 100% cotton\nMachine washable" 這樣的產品說明,在 Excel 的 CSV 匯出中會失去換行與逗號,但 CSV To JSON 兩者都保留,確保 JSON 輸出與原始資料相符。
何時該用 CSV To JSON 而非 Excel 內建工具
在以下情況使用 CSV To JSON:
- CSV 含引號內逗號、換行或非 ASCII 字元,且必須在 JSON 輸出中保持原樣。
- 基於隱私或合規理由,需要轉換 CSV 且不上傳到第三方伺服器。
- 要把 JSON 餵給期望嚴格遵守 RFC 4180 的網頁應用程式、API 或資料庫。
- 想在匯出前核對轉換結果,利用工具的列數、欄數與輸出大小即時摘要。
在以下情況避免使用 CSV To JSON:
- CSV 極大(超過 10,000 列)。工具雖能處理大型檔案,但瀏覽器效能可能下降。批次轉換請考慮用 Python 的
csv與json模組寫本機指令碼。 - 轉換時需要變換資料(例如篩選列或重新命名欄)。CSV To JSON 會原樣保留原始資料;若要做變換,請在轉換後使用指令碼或像 JSON Formatter 這樣的工具。
Excel 使用者的 CSV To JSON 替代方案
若不想用瀏覽器工具,可用以下方法在 Excel 把 CSV 轉成 JSON:
- Power Query: 用 Power Query 把 CSV 匯入 Excel,再匯出為 JSON。此方法會保留資料型別,但仍可能去掉字串值中的引號與換行。
- VBA 巨集: 寫 VBA 指令碼讀取 CSV 並產生 JSON。這能讓你完全掌控輸出,但需要程式設計知識,大型檔案也可能較慢。
- Python 指令碼: 用
pandas函式庫讀取 CSV 並匯出為 JSON。這是最有彈性的選項,但需要安裝 Python 與相依套件。範例指令碼:import pandas as pd df = pd.read_csv("data.csv") df.to_json("data.json", orient="records", force_ascii=False) - 命令列: 在終端機用
jq或csvkit把 CSV 轉成 JSON。這很快且可寫成指令碼,但需要熟悉命令列工具。
以上方法在易用性、資料保留與隱私方面各有取捨。CSV To JSON 取得平衡:免安裝、在瀏覽器執行,並原樣保留 CSV 中的所有資料。
轉換後如何驗證 JSON
把 CSV 轉成 JSON 後,請驗證輸出,確認語法正確且符合預期。JSON Validator 工具會檢查語法錯誤並顯示 JSON 結構,方便找出缺少引號或逗號位置不對等問題。使用方式如下:
- 從 CSV To JSON 複製 JSON 輸出。
- 開啟 JSON Validator,把 JSON 貼到輸入區。
- 點選「Validate」。若 JSON 有效,工具會顯示格式化後的資料。若有錯誤,會標示出問題所在的行與欄。
- 檢視格式化輸出,確認所有值(包括引號內逗號與換行)都如預期出現。
當 JSON 要用在正式環境(例如餵給 API 或匯入資料庫)時,驗證尤其重要。即使很小的語法錯誤也可能造成失敗,因此花一分鐘驗證 JSON,之後能省下數小時的除錯時間。
此主題延伸: 如何在程式設計與資料工作中使用 ASCII 代碼。
相關閱讀: 在 CMD 建立精確大小與內容的 Dummy 檔。
相關閱讀: 不必背欄位順序就能建立 Cron Job 排程。
相關閱讀: 從 CSV 檔移除 BOM 且不遺失資料。