從本地中讀入json格式檔案,然後轉換成python的格式,對其進行刪除,修改之後,再次以json的格式編碼,並寫入檔案
PS:JSON 是用來進行資料轉換的,第一次遇見 思路: 從json檔案中讀取 將json轉換成python的資料結構,對其內容進行修改,然後再編碼成json 將json寫入檔案
原檔案內容:
{“weather”:{“city”:”泰興”,”溫度”:”-1~-5攝氏度”,”風力”:”3-4級”}}
修改之後,在寫入:
{“weather”:{“city”:”泰興”,”溫度”:”-1~-5攝氏度”,”風力”:”3-4級”}}
{“溫度”: “-1~-5攝氏度”, “city”: “南京”, “風力”: “3-4級”} 代碼:
import jsondef fetch_data(): f = open('/home/dream/案頭/weather.json') data = f.read() print('以字串形式讀出.json成功') return datadef select_data(data_json): temp = json.loads(data_json) data_python = temp['weather'] data_python['city'] = '南京' json_data = json.dumps(data_python,ensure_ascii=False) print('提取天氣資料,並修改城市成功') return json_datadef write_data(data_changed): f = open('/home/dream/案頭/weather.json','a+') f.write(data_changed) f.close() print('寫入成功')data = fetch_data()result= select_data(data)write_data(result)
總結:
簡單的操作並不難,關鍵是要弄清楚幾個小點 loads()用來返回python的格式,解碼。 dumps()是編碼,將python格式轉換成json格式的 字串,這一點挺重要的。 ensure_ascii=Flase.預設是用ASCII來編碼的,因為有中文所以False。關掉。
作為剛開始編程的我,不得不承認還差很多,不過慢慢來總會改善的。在取函數名字的時候,我就發現真的難啊,也是一門學問呢~加油~共勉~還有直接對檔案的操作,差不多,就不再舉例了