6JSON格式转python并实现数据可视化
JSON数据格式
json:是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数(就是字符串)
Python语言使用JSON有很大优势,因为:JSON无非就是一个单独的字典或一个内部元素都是字典的列表,所以JSON可以直接和Python的字典或列表进行无缝转换。
JSON数据格式转换
json数据格式为str字符串,转换成python数据类型为dict或者list
转换语法:
首先要导入json模块
json转pyhon使用json.load函数
python转josn使用json.dumps函数,如果有中文使用ensure_ascii=False
#演示JSON数据和Python字典的相互转换
import json#准备列表,列表内每一个元素都是字典,将其转换为JSON
l=[{"name":"张大山","age":16},{"name":"赵子龙","age":26}]
j=json.dumps(l,ensure_ascii=False)
print(type(j))
print(j)#准备字典,将字典转换为JSON
distinct01={"name":"张大山","age":16},{"name":"赵子龙","age":26}
j2=json.dumps(distinct01,ensure_ascii=False)
print(type(j2))
print(j2)#将JSON字符串转换为Python数据类型[{k: v, k: v},{k: v, k: v}]
js1='[{"name":"张大山","age":16},{"name":"赵子龙","age":26}]'
py=json.loads(js1)
print(type(py))
print(py)#将JSON字符串转换为Python数据类型{k: v, k: v}
js2='{"name":"张大山","age":16}'
py2=json.loads(js2)
print(type(py2))
print(py2)
pyecharts包安装
pyecharts
是一个基于百度 ECharts 的 Python 可视化库,能够生成交互式、高质量的图表,支持折线图、柱状图、地图、饼图等多种图表类型,且代码简洁易上手。
安装方法:
1cmd命令行中输入pip install pyecharts
2pycharm中手动搜索安装
如果遇到安装后,无法导入包的情况,可以按照以下步骤排错
1cmd查看python基础解释器
2pycharm更改解释器为基础解释器
3可以正常导入了
pyechart如何绘制折线图
在 pyecharts
中,图表配置主要分为 全局全局参数和系列参数,分别用于控制图表的整体样式和单个数据系列的特性。
#导包
from pyecharts.charts import Line#创建一个折线图对象
line =Line()#添加x轴数据
line.add_xaxis(xaxis_data=["中国","美国"])#添加y轴数据,必须包括series参数和数据,gdp为series参数
line.add_yaxis('gdp',[10,20])#生成图像
line.render()
综合案例:美国疫情数据可视化
准备一份json格式的数据,将其制成折线图
import json
from pyecharts.charts import Line#处理数据
f_us=open("C:\\Users\y\Desktop\美国.txt","r",encoding="utf-8")
us_data=f_us.read()
#去掉不合JSON规范的开头
us_data=us_data.replace("jsonp_1629344292311_69436(","")#去掉不合JSON规范的结尾
us_data=us_data[:-2]
#JSON转Python字典
us_dict=json.loads(us_data)#获取trend key
trend_data=us_dict["data"][0]["trend"]#获取日期数据,用于x轴,取2020年(到314下标结束)
x_data=trend_data["updateDate"][:314]#获取确认数据,用于y轴,取2020年(到314下标结束)
y_data=trend_data["list"][0]["data"][:314]#生成图表
line =Line()
line.add_xaxis(x_data)
line.add_yaxis(series_name="确诊病例数",y_axis=y_data)
line.render()#关闭文件对象
f_us.close()