資料網站:臺中市列冊獨居老人人數及服務概況
資料格式:臺中市列冊獨居老人人數及服務概況_JSON
1.首先下載資料,並改名為JSON.json。
2.撰寫下列基本程式:
1 2 3 4 5 | import json f = open('JSON.json') data = json.load(f) print(data) f.close() |
執行上面程式,發生如下的錯誤:
3. 這是編碼的問題,在開檔是只要告知是utf-8編碼格式即可,程式碼如下:
1 2 3 4 5 | import json f = open('JSON.json', encoding="utf-8") data = json.load(f) print(data) f.close() |
執行結果:
4.先用JSON工具來看資料的格式,https://jsoneditoronline.org/。
5.依照格式修訂程式
1 2 3 4 5 6 7 8 9 | import json f = open('JSON.json', encoding="utf-8") data = json.load(f) data = data['ROOT']['RECORD'] for d in data: for r in d: print(r, ":", d[r]) print("\n") f.close() |
執行結果:
1 2 3 4 5 6 7 8 9 10 11 12 | import json f = open('JSON.json', encoding="utf-8") data = json.load(f) data = data['ROOT']['RECORD'] for d in data: for r in d: if r == "行政區" : print(d[r]) if r == "合計": print(d[r]) print("\n") f.close() |
執行結果:
7.用圖表來表示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import json f = open('JSON.json', encoding="utf-8") X=[] Y=[] data = json.load(f) data = data['ROOT']['RECORD'] for d in data: for r in d: if r == "行政區" : X.append(d[r]) if r == "合計": Y.append(d[r]) f.close() import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['mingliu'] plt.plot(X, Y) plt.ylabel('(人)') plt.show() |
執行結果:
8. 我們發現圖形居然呈現線性的成長,再仔細看Y軸的數字,很怪,原來是字串並非數字,因此修改程式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import json f = open('JSON.json', encoding="utf-8") X=[] Y=[] data = json.load(f) data = data['ROOT']['RECORD'] for d in data: for r in d: if r == "行政區" : X.append(d[r]) if r == "合計": Y.append(int(d[r])) f.close() import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['mingliu'] plt.plot(X, Y) plt.ylabel('(人)') plt.show() |
執行結果:
沒有留言:
張貼留言