Json数据和Python字典数据的相互转化Json采用完全独立于编程语言的文本格式来存储和表示数据就是字符串Python语言使用Json有很大优势因为Json是一个单独的字典或一个内部元素都是字典的列表Json可直接和Python的字典或列表进行无缝转换json格式数据转化通过json.dumps(data)方法把python数据转化为了 json数据如果有中文可以带上ensure_asciiFalse参数来确保中文正常转换datajson.dumps(data)json_strjson.dumps(data,ensure_asciiFalse)通过json.loads(data)方法把josn数据转化为了 python列表或字典djson.loads(data)1. 通过json.dumps(data)方法把python字典数据转化为json字符串数据json_strjson.dumps(data)准备列表列表内的每一个元素都是字典将其转换为Json# 导入json模块importjson# 准备符合格式json格式要求的python数据:# 准备列表列表内的每一个元素都是字典将其转换为Json:python data[{name:zhang,age:11},{name:王,age:13},{name:li,age:16}]json_strjson.dumps(data,ensure_asciiFalse)print(json_str)print(type(json_str))#class strprint(json_str)# {name: \u738b, age: 13},ensure_asciiFalse,加上这句会让json按原格式输出准备字典将字典转为Json格式d{name:左,age:19,addr:beijing}json_strjson.dumps(d,ensure_asciiFalse)print(type(json_str))# class strprint(json_str)2. 把json字符串数据转化为python数据:通过json.loads(data)将Json字符串转为Python字典数据类型外单内双或外双内单s{name:lili,age:18,addr:jing}# s是json格式的字符串djson.loads(s)print(type(d))# d是转换后的python字典# class dictprint(d)pyecharts的基础入门全局配置项 https://www.freesion.com/article/9086525452/TitleOpts标题配置项LegendOpts图例配置项ToolboxOpts工具箱配置项VisualMapOpts视觉映射配置项导入包frompyecharts.chartsimportLinefrompyecharts.optionsimportTitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts# 创建一个折线图对象lineLine()# 给折线图对象添加x轴的数据line.add_xaxis([中国,美国,英国])# 给折线图对象添加y轴的数据line.add_yaxis(GDP,[30,20,10])# 设置全局配置项set_global_optsline.set_global_opts(title_optsTitleOpts(title各个国家GDP展示,pos_leftcenter,pos_bottom6%),# 配置图表的标题legend_optsLegendOpts(is_showTrue),#配置图例toolbox_optsToolboxOpts(is_showTrue),#配置工具箱visualmap_optsVisualMapOpts(is_showTrue),#配置图例)# 通过render方法将代码生成图像line.render()通过json模块对数据进行处理先把json格式化再将json转换为视图https://ohyewang.com/JsonEdit可视化项目折线图开发——各个国家疫情先json格式化再json转换为视图https://ohyewang.com/JsonEdit# import jsonfrompyecharts.chartsimportLine# 导入pyecharts的包frompyecharts.optionsimportTitleOpts,LegendOpts,LabelOpts# 处理数据f_usopen(E:/美国.txt,r,encodingutf-8)# 处理美国相关疫情数据us_dataf_us.read()f_jpopen(E:/日本.txt,r,encodingutf-8)# 处理日本相关疫情数据jp_dataf_jp.read()f_inopen(E:/印度.txt,r,encodingutf-8)# 处理印度相关疫情数据in_dataf_in.read()# 去掉不合Json规范的开头:删除指定内容,用空字符串替代原有内容us_dataus_data.replace(jsonp_1629344292311_69436(,)jp_datajp_data.replace(jsonp_1629350871167_29498(,)in_datain_data.replace(jsonp_1629350745930_63180(,)# 去掉不合Json规范的结尾:去掉最后两个字符us_dataus_data[:-2]jp_datajp_data[:-2]in_datain_data[:-2]# Json转python字典:json.loads(data)方法us_dictjson.loads(us_data)jp_dictjson.loads(jp_data)in_dictjson.loads(in_data)# 获取trend keyx轴y轴数据来源us_trend_dataus_dict[data][0][trend]jp_trend_datajp_dict[data][0][trend]in_trend_datain_dict[data][0][trend]# 获取日期数据x_data用于x轴取2020年到314的下标12月31日结束us_x_dataus_trend_data[updateDate][:314]jp_x_datajp_trend_data[updateDate][:314]in_x_datain_trend_data[updateDate][:314]# 获取确认确诊的数据y_data用于y轴取2020年到314的下标结束us_y_dataus_trend_data[list][0][data][:314]jp_y_datajp_trend_data[list][0][data][:314]in_y_datain_trend_data[list][0][data][:314]# 生成图表lineLine()#构建折线图对象# 添加x轴对象line.add_xaxis(us_x_data)# x轴是公用的所以使用一个国家的数据即可# 添加y轴对象line.add_yaxis(美国确诊人数,us_y_data,label_optsLabelOpts(is_showFalse))# 当前图表中的折线上的图表是否会显示label_optsLabelOpts(is_showFalse))line.add_yaxis(日本确诊人数,jp_y_data,label_optsLabelOpts(is_showFalse))line.add_yaxis(印度确诊人数,in_y_data,label_optsLabelOpts(is_showFalse))# 设置全局选项line.set_global_opts(#标题设置title_optsTitleOpts(title2020年美日印三国确诊人数对比折线图,pos_leftcenter,pos_bottom6%),)# 调用render方法生成图表line.render()# 关闭文件对象f_in.close()f_us.close()f_jp.close()