從零開始學Python (17) — 檔案讀寫:妳出現在我詩的每一頁(下)

Day 17 檔案讀寫:妳出現在我詩的每一頁(下)

Chih-Yu Lin

--

註:本篇文章同步刊載於iT邦幫忙,為鐵人賽之系列文章。
https://ithelp.ithome.com.tw/articles/10246077

上一回我們介紹了CSV的格式以及使用方法,
事實上很多檔案如果是以Excel能表達的狀態下,
CSV應該可以應付絕大多數的需求了!
但對於許多程式開發,或較為複雜的資料,
使用CSV就會稍嫌力有未逮,
因為CSV並不能夠簡單分出比較大量的層級。

舉例來說,如果我們現在有一組資料,
內含了一個學校的兩個班級,
那可能會長這樣:

how_school = {
"校長": "How哥",
"工友": "林阿嘉",
"class": {
"A": {
"teacher": "蔡阿嘎",
"students": {
"阿明": {"數學":55, "英文":70, "物理":55},
"HowHow": {"數學":80, "英文":60, "物理":40}
}
},
"B": {
"teacher": "二伯",
"students": {
"小美": {"數學":90, "英文":88, "物理":100},
"蔡哥": {"數學":50, "英文":50, "物理":40}
}
}
}
}

像這樣子的東西,就很難使用csv簡單表現出來了!
所以我們一般會使用JSON來處理這樣子的結構。
JSON是JavaScript Object Notation的縮寫,
顧名思義,本來是用在JavaScript的格式。

後來大家發現實在是很好用,
所以也被拿來在很多地方做為資料交換用的格式。
當然,如果要人從頭刻出來,可能中間會有一些沒寫好的地方容易出錯,
這時候我們需要一個用來檢查格式的工具,
讀者可以搜尋’JSON online editor’,選擇自己用得順手的來嘗試編寫,
以下我們就拿在 https://jsoneditoronline.org/ 上操作做為範例:
進入時,幾個簡單的操作就看中間的部分:

--

--

Chih-Yu Lin

LeetCode、Python、Java、Android;第11屆iT邦幫忙鐵人賽Software Development組優選(從LeetCode學演算法);HiSKIO特約講師;課程優惠: https://bit.ly/lc2022all ;合作請洽: learnwithdesolve@gmail.com