iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0

今天來講Python其中一個很重要的檔案型態"json"(Jason)

先展示他的資料結構

//data.json
{
    "key1": "value1",
    "key2": "value2"
}

你說,是不是長得很像dict呢?簡直一模一樣。

在Python中操作也是用dict來做操作

首先,先展示一段在Python中操作json檔案的程式碼

import json

file = open('./data.json')
data = json.load(file)
print(data)

#output
{'key1': 'value1', 'key2': 'value2'}

講講json中讀檔的函數

名稱 說明
load() 以讀檔的方式將json個式的檔案轉換成dict格式
loads() 以讀取變數的方式,將有dict格式的「字串」轉換成dict
dump() 將dict寫入指定的json檔案
dumps() 將有dict格式的「字串」轉換成正規json格式

那你可能會問,甚麼是正規Json格式?

以下為一般dict格式

a_dict = {'key1': 'value1', "key2": "value2"}

以下為正規json格式

a_json = {
    "key1": "value1",
    "key2": "value2"
}

眼尖的你一定看出來就差在單雙引號跟有沒有縮排而已啊?

嗯對,沒錯,正規的json就是有縮排跟規定雙引號,dict則兩者都可以,好處是統一資料格式的一致性。

再來介紹一種json檔案的樣式。

{
    "all_data": [
        {
            "key1": "value1",
            "key2": "value2"
        },
        {
            "key3": "value3",
            "key4": "value4"
        }
    ]
}

你也可能覺得,啊怎麼多了中括號,其實道理懂了也很簡單。

在存取資料方法跟python的存取元素的方式很類似。

file = open('./data.json')
data = json.load(file)

data["all_data"][0]["key1"]

簡單講就是遇到中括號的處理方式就是用list的存取元素的方式,遇到大括號就是用dict的存取方式。

今天淺入了json檔案處理,你是否有了解Jason這個人呢? 在後面的實作也會常用到喔,那今天就講到這邊啦,我們明天見~~


上一篇
[Day 8] 函數以及物件導向
下一篇
[Day 10] pip套件與LineBot機器人建立
系列文
用30天打好Python、LineBot的基礎&基本應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言