使用Python处理JSON格式数据

网友投稿 681 2022-11-19

使用Python处理JSON格式数据

使用Python处理JSON格式数据

​​JSON​​​(​​JavaScript​​ Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。

它基于 ​​ECMAScript​​ (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

JSON最常用的格式是对象的 键值对。例如下面这样:

1


​{"firstName": "Brett", "lastName": "McLaughlin"}​


------参照Python编程从入门到实践(第三版)

------Python 3

------

一、-json格式文件

书中介绍了两种-方法,我用来requests的方法,(相对简单)

方法如下:

1.载入requests库 (如果没有需要先-)import requests

2.设置url

3.使用requests.get(url)方法,向服务器发送请求,获取数据

4.写入文件

源码如下:

import requestsjson_url = '= requests.get(json_url)#将数据写入文件with open('btc_close_2017_request.json','w')as f: f.write(req.text)file_requests = req.json()

print(file_requests)

运行后,可以看到一大串键值对组成的字典。

二、提取数据

1.导入json模块

2.加载json文件

3.格式化打印

import json#加载数据至列表filename = 'btc_close_2017_request.json'with open (filename) as f: btc_data = json.load(f)#打印每一天的消息for btc_dict in btc_data: date = btc_dict['date'] month = btc_dict['month'] week = btc_dict['week'] weekday = btc_dict['weekday'] close = btc_dict['close'] print("{} is month {} week {},{},the close price is {} RMB".format(date, month,week, weekday, close))

效果如下:

3.处理数据,将字符串转化成数字

使用int()将字符串转化成整数

注意含小数点的字符串(此处为close)需要先转化成float,然后再转化成int.

4.绘制折线图

使用pygal

import jsonimport pygal#加载数据至列表filename = 'btc_close_2017_request.json'with open (filename) as f: btc_data = json.load(f)dates =[]months = []weeks = []weekdays =[]close =[]for btc_dict in btc_data: dates.append(btc_dict['date']) months.append(int(btc_dict['month'])) weeks.append(int(btc_dict['week'])) weekdays.append( btc_dict['weekday']) close.append(int(float(btc_dict['close']))) line_chart =pygal.Line(x_label_rotation=20,show_minor_x_labels=False)line_chart.title = ' 收盘价RMB 'line_chart.x_labels =datesN = 20line_chart.x_labels_major = dates[::N]line_chart.add('收盘价', close)line_chart.render_to_file('收盘价折线图.svg')

效果如下:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python零基础入门-4 使用函数减少重复操作
下一篇:声音合成器 1 基本噪音
相关文章

 发表评论

暂时没有评论,来抢沙发吧~