[問題] Python讀取json的編碼問題

看板Python作者 (jimmy)時間8年前 (2016/04/19 11:17), 8年前編輯推噓3(304)
留言7則, 6人參與, 最新討論串1/1
大家好,小弟剛學習使用python 最近想要試著讀取台北市公車站牌資料來練習應用 下載後為json格式,嘗試用python讀取後發生一些問題。 import json >>> with open("GetSTOP.txt") as f: stop = json.load(f) Traceback (most recent call last): File "<pyshell#11>", line 2, in <module> stop = json.load(f) File "C:\Users\jimmy15923\python3\lib\json\__init__.py", line 265, in load return loads(fp.read(), UnicodeDecodeError: 'cp950' codec can't decode byte 0xe8 in position 56: illegal multibyte sequence >>> google發現是編碼問題,但是文件檔的編碼本來就已經是utf-8 試了很久還是無解QQ 還請各位高手指教一下小弟 謝謝大家 附上 檔案給各位高手測試, https://drive.google.com/file/d/0B2B1W8xYjS33MXd6SU1iNksxLVU/view -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.56.240.217 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1461035842.A.CF9.html

04/19 11:35, , 1F
給一份檔案讓大家測試一下如何
04/19 11:35, 1F

04/19 11:37, , 2F
with open("GetSTOP.txt", encoding='utf8') as f:
04/19 11:37, 2F

04/19 11:40, , 3F
open(file, encoding="utf-8")
04/19 11:40, 3F

04/19 11:47, , 4F
如前兩樓,雖然文件是utf8 但open預設以你系統encoding
04/19 11:47, 4F

04/19 11:48, , 5F
來解碼,所以需特別加上相對應的encoding如樓上
04/19 11:48, 5F

04/19 12:59, , 6F
推open(file, encoding="utf-8")
04/19 12:59, 6F
※ 編輯: jimmy15923 (117.56.240.217), 04/19/2016 13:07:52

04/19 13:08, , 7F
感謝各位神人,真的成功讀出來了!!!
04/19 13:08, 7F
文章代碼(AID): #1N5QD2pv (Python)