起个花名好难 2022-04-21 16:29 采纳率: 100%
浏览 419
已结题

JSONDecodeError,求解决办法

报错信息:JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 127027 (char 127026)
个人觉得是json解析部分出现问题

import requests
import json
import pandas as pd
import datetime
from pyecharts.charts import Map
from pyecharts import options as opts

#  腾讯数据接口获取json格式疫情数据
def get_ncp_data():
    reponse = requests.get('https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5').json()
    data = json.loads(reponse['data'])
    
    return data

#  扁平化中国疫情数据
def flatten_ncp_data():
    all = json.loads(get_ncp_data())
    #  初始化结果链表
    provinces = []
    date = all['lastUpdateTime']
    #  获取各省份确诊病例
    china = all['areaTree'][0]['children']  # 获得中国数据
    for province in china:
        province_ncp = province['children']
        province_ncp = {
            '日期': date,
            '省份': province['name'],
            '累计确认': province['total']['confirm'],
            '现存病例':province['total']['nowConfirm']
        }
        provinces.append(province_ncp)
             
    return provinces

#  渲染可视化地图
def render_map_chart():
    provinces = flatten_ncp_data()
    df = pd.DataFrame(provinces)
    c = (
        Map()
       .add("累计确诊病例",[list(z) for z in zip(list(df["省份"]), list(df['累计确认']))],
            "china",is_map_symbol_show=False)
       .set_global_opts(title_opts=opts.TitleOpts(title="中国疫情地图"),
            visualmap_opts=opts.VisualMapOpts(is_piecewise=True,
            pieces=[
                {"max": 0, "min": 0, "label": "0","color":"#e2ebf4"},
                  {"max": 9, "min": 0, "label": "0-9","color":"#ffe7b2"},
                  {"max": 99, "min": 10, "label": "10-99","color":"#ffcea0"},
                  {"max": 999, "min": 100, "label": "100-999","color":"#ffa577"},
                  {"max": 4999, "min": 1000, "label": "1000-4999","color":"#CD5C5C"},
                  {"max": 9999, "min": 5000, "label": "5000-9999","color":"#ff2736"},
                  {"max": 99999, "min": 10000, "label": "10000-99999","color":"#A52A2A"}
            ]))
    )
    return c
map_chart=render_map_chart()
map_chart.render_notebook()

  • 写回答

7条回答 默认 最新

  • keenanli 2022-04-21 20:02
    关注

    接口已经发生变化了,你这个是旧接口。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日
  • 创建了问题 4月21日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵