【小白python学习错题集】UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x99 in position 205170

运行读取地震数据,遇到如下报错

import plotly.express as px
from pathlib import Path
import json

# 将数据作为字符串读取并转换为 Python对象
path=Path(r"C:\07-python\data-csv\eq_data_30_day_m1.geojson")
contents = path.read_text()
all_eq_data = json.loads(contents)

# 查看数据集中的所有地震
all_eq_dicts = all_eq_data['features']
print(len(all_eq_dicts))

【小白python学习错题集】UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x99 in position 205170_第1张图片

默认编码为GBK导致的。

这里使用try-except代码块解决这个问题

path=Path(r"C:\07-python\data-csv\eq_data_30_day_m1.geojson")

try:
    contents = path.read_text()
except:
    contents = path.read_text(encoding='utf-8')

all_eq_data = json.loads(contents)

【小白python学习错题集】UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x99 in position 205170_第2张图片

你可能感兴趣的:(python初学错题集,python,学习,前端)