使用 Python 处理 JSON 格式的数据!

Python数据处理(一):处理 JSON、XML、CSV 三种格式数据 Python 数据处理系列博客来啦! 本系列将以《Python数据处理》这本书为基础,以书中每章一篇博客的形式带大家一起学习 Python 数据处理。书中有些地方讲的不太详细,我会查阅其他资料来补充,力争每篇博客都把知识点涵盖全且通俗易懂。 这本书主要讲了如何用 Python 处理各种类型的文件,如 JSON、XML、CSV、Excel、PDF 等。后面几章还会讲数据清洗、网页抓取、自动化和规模化... 阅读详情

如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择。如果你对 Python 有所了解,就更加事半功倍了。下面就来介绍一下如何使用 Python 处理 JSON 数据。

JSON 的全称是 JavaScript 对象表示法

Python资源共享群:484031800

JavaScript Object Notation

。这是一种以键值对的形式存储数据的格式,并且很容易解析,因而成为了一种被广泛使用的数据格式。另外,不要因为 JSON 名称而望文生义,JSON 并不仅仅在 JavaScript 中使用,它也可以在其它语言中使用。下文会介绍它是如何在 Python 中使用的。

首先我们给出一个 JSON 示例:

{
    "name":"tux",
    "health":"23",
    "level":"4"
}

上面是一个和编程语言无关的原生 JSON 数据。熟悉 Python 的人会看出来这个 JSON 数据跟 Python 中的 字典

dictionary

长得很像。而这两者之间确实非常相似,如果你对 Python 中的列表和字典数据结构有一定的理解,那么 JSON 理解起来也不难。

使用字典存放数据

如果你的应用需要存储一些结构复杂的数据,不妨考虑使用 JSON 格式。对比你可能曾经用过的自定义格式的文本配置文件,JSON 提供了更加结构化的可递归的存储格式。同时,Python 自带的 json 模块已经提供了可以将 JSON 数据导入/导出应用时所需的所有解析库。因此,你不需要针对 JSON 自行编写代码进行解析,而其他开发人员在与你的应用进行数据交互的时候也不需要去解析新的数据格式。正是这个原因,JSON 在数据交换时被广泛地采用了。

以下是一段在 Python 中使用嵌套字典的代码:

#!/usr/bin/env python3
import json
# instantiate an empty dict
team = {}
# add a team member
team['tux'] = {'health': 23, 'level': 4}
team['beastie'] = {'health': 13, 'level': 6}
team['konqi'] = {'health': 18, 'level': 7}

这段代码声明了一个名为 team 的字典,并初始化为一个空字典。

如果要给这个字典添加内容,首先需要创建一个键,例如上面示例中的 tux 、 beastie 、 konqi ,然后为这些键一一提供对应的值。上面示例中的值由一个个包含游戏玩家信息的字典充当。

字典是一种可变的变量。字典中的数据可以随时添加、删除或更新。这样的特性使得字典成为了应用程序存储数据的极好选择。

使用 JSON 格式存储数据

如果存放在字典中的数据需要持久存储,这些数据就需要写到文件当中。这个时候就需要用到 Python 中的 json 模块了:

with open('mydata.json', 'w') as f:
    json.dump(team, f)

上面的代码首先创建了一个名为 mydata.json 的文件,然后以写模式打开了这个文件,这个被打开的文件以变量 f 表示(当然也可以用任何你喜欢的名称,例如 file 、 output 等)。而 json 模块中的 dump() 方法则是用于将一个字典输出到一个文件中。

从应用中导出数据就是这么简单,同时这些导出的数据是结构化的、可理解的。现在可以查看导出的数据:

$ cat mydata.json
{"tux": {"health": 23, "level": 4}, "beastie": {"health": 13, "level": 6}, "konqi": {"health": 18, "level": 7}}

从 JSON 文件中读取数据

如果已经将数据以 JSON 格式导出到文件中了,也有可能需要将这些数据读回到应用中去。这个时候,可以使用 Python json 模块中的 load() 方法:

#!/usr/bin/env python3
import json
f = open('mydata.json')
team = json.load(f)
print(team['tux'])
print(team['tux']['health'])
print(team['tux']['level'])
print(team['beastie'])
print(team['beastie']['health'])
print(team['beastie']['level'])
# when finished, close the file
f.close()

这个方法实现了和保存文件大致相反的操作。使用一个变量 f 来表示打开了的文件,然后使用 json 模块中的 load() 方法读取文件中的数据并存放到 team 变量中。

其中的 print() 展示了如何查看读取到的数据。在过于复杂的字典中迭代调用字典键的时候有可能会稍微转不过弯来,但只要熟悉整个数据的结构,就可以慢慢摸索出其中的逻辑。

当然,这里使用 print() 的方式太不灵活了。你可以将其改写成使用 for 循环的形式:

for i in team.values():
    print(i)

使用 JSON

如上所述,在 Python 中可以很轻松地处理 JSON 数据。因此只要你的数据符合 JSON 的模式,就可以选择使用 JSON。JSON 非常灵活易用,下次使用 Python 的时候不妨尝试一下。

Python常用模块 之 json:处理JSON数据 阅读详情

相关推荐

OpenGL绘制简单场景,实现旋转缩放平移和灯光效果

本项目实现了用OpenGL绘制一个简单场景,包含正方体、球体和网格,实现了物体的旋转、缩放、平移和灯光效果。附有项目完整代码,有详细注释。适合初学者熟悉opengl使用。

张竞成的博客 1万+

python数据的格式输出_python 把数据 json格式输出的实例代码

有个要求需要在python的标准输出时候显示json格式数据,如果缩进显示查看数据效果会很好,这里使用json的包会有很多操作?12345import jsondate= {u'versions': [{u'status': u'CURRENT', u'id': u'v2.3', u'links': [{u'href': u'http://controller:9292/v2/', u'rel':...

weixin_40007515的博客 231

基于陀螺仪航向反馈的轮式机器人PID直线控制

航向角控制是移动机器人实现稳定直线运动的基础技术,其本质是通过实时感知机体朝向偏差并动态调节驱动输出,以抵消机械不对称、轮径误差等固有扰动。该方法依托陀螺仪测量角速度并积分解算航向角,结合离散化PID算法生成补偿性PWM指令,在嵌入式平台(如STM32)上构建低延迟闭环。相比依赖编码器的速度闭环,它规避了轮径标定与安装偏心等误差源,显著提升低成本平台的工程鲁棒性与部署效率。典型应用场景包括教育机器人直线循迹、AGV基础导航模块开发及IMU-PID融合控制原型验证。

web39explorer的博客 1110

利用Python语句读取json文件,并输出相应数据

简单的Python作业,请看以下代码:import json f = open("json/company.json",'r',encoding='utf-8') ln = 0 for line in f.readlines(): ln += 1 dic = json.loads(line) t = dic['id'],dic['com_name'],dic['com_re...

weixin_39217599的博客 3万+

别再拿空气标定法糊弄了!手把手教你搞定水下相机标定(附Python代码)

本文详细解析水下相机标定的关键技术,揭示传统空气标定法失效原因,并提供基于单视点模型(SVP)的完整Python解决方案。通过折射效应分析、标定板设计优化和代码实战演示,帮助读者掌握水下标定核心方法,有效提升水下视觉系统测量精度。

weixin_30530939的博客 210

在Matlab中开发AutoSAR模型的流程(自下而上)

前面介绍了AutoSAR软件组件开发的两种方式,其中自下向上的方式,是从模型出发,流程如下。

小胡同学的工程师学习之路 5367

python中json格式数据输出实现方式

python中json格式数据输出实现方式,有测试例子。

动感超人的专栏 2万+

基于CANoe的Basic Diagnostics ECU (UDS)

基于CANoe的Basic Diagnostics ECU (UDS)

farmer00的博客 9155

python如果把json字符串去掉无用换行符空白等

如果你还想进一步去除字符串开头和结尾的空白(如空格、制表符、换行符等),你可以使用。在Python中,如果你想要去除JSON字符串中的无用换行符、空白等,你可以使用。后面通常跟着一个值,所以实际上它不会去除任何空格(除非你的原始JSON字符串在。运行上述代码后,你会得到一个没有多余空格和换行符的JSON字符串。参数接受一个元组,其中第一个元素是字典键和值之间的分隔符(默认为。只会去除字符串两端的空白,而不会影响到JSON结构内部的空格。),第二个元素是字典项之间的分隔符(默认为。和值之间就有空格)。

得塔云的博客 1849

全能扫描王的实现(python版本)- 目标检测图像矫正

全能扫描王python代码实现,可用于文件扫描或者是图像校正

搬砖猛女的啃书历程 5492

关于mos管的压降问题(项目遇到问题总结)

在研发过程中没有出现问题的板子,到了小批时竟出现雷达一直在触发???找了大几天,没有头绪。心中疑惑颇多,加上老板催促,自考等原因,真是压力山大。4月份自考,只有差不多一个月时间了吧,没有什么大的收获,反而在查找硬件问题的过程中,发现了一个自己忽视的一个问题,就是关于Mos管的压降问题。 备考的过程崎岖不平,工作又问题多多,孰轻孰重,如何取舍?从心理来说,不想取舍什么,只是有所得就可以,过不了就过不了呗,已经毕业十五年了,没这个本科文凭不也过来了吗?只是代表了自己在这一段时间的思考,自己兴趣吧,没什么大不了

guangod的博客 2万+

python操作json_Python学习之利用Python处理JSON格式数据

最近在研究利用zabbix的自动发现功能来监控一台服务器上的多个Redis端口。网上有篇文章写个Python程序来发现Redis端口并显示成JSON格式。这里就学习下Python如何处理JSON格式数据。处理JSON,需要用到python的json模块可以用import json导入模块,主要是json.dumps()和json.loads()两个函数。参考《Python Cookbook》一书I...

weixin_39972019的博客 233

AXI2APB_bridge 设计

此处研究AHB Slave到 APB master的桥接器,实现接口转化,例如下图之后是参数描述

Starry__的博客 4037

干货|Python处理JSON格式的数据,太详细了吧!

工作中我们常把数据存放在数据库中,使用Python、SQL语句就可以方便地数据获取。在互联网公司,当我们需要其他团队提供数据支持时,一般没有团队会直接给你一个数据库或者数据表的权限,道理很简单,一是数据安全性,二是增加自身工作量。通常情况下,提供一个数据接口,数据格式为JSON。 本篇将对数据接口为JSON格式时,如何进行数据处理进行详细的介绍,内容分如下两个部分: 什么是JSON JSON使用方法 什么是JSON JSON(JavaScript Object Notation, JS 对象简谱)是一种

Python学习与数据挖掘 3232

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

pythonjson格式_使用 Python 处理 JSON 格式的数据!

如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择。如果你对 Python 有所了解,就更加事半功倍了。下面就来介绍一下如何使用 Python 处理 JSON 数据。JSON 的全称是 JavaScript 对象表示法Python资源共享群:484031800JavaScript Object Notation。这是一种以键值对的形式存储数据的格式,并且很容易解析,因而成...

weixin_39856265的博客 98

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python json数据描述_干货|如何利用Python处理JSON格式的数据,建议收藏!

本文转载自【微信公众号:数据分析与篮球,ID:dylanxia2019】经微信公众号授权转载,如需转载与原文作者联系JSON数据格式在我们的日常工作中经常会接触到,无论是做爬虫开发还是一般的数据分析处理,本文小编就来分享一下当数据接口是JSON格式时,如何进行数据处理进行详细的介绍,内容分布如下什么是JSONJSON模块的使用方法什么是JSONJSON(JavaScript Object Nota...

weixin_42541463的博客 197

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

格式化json_边用边学Vim —— 格式化JSON文本

为什么要格式化JSON文本在最近的项目中笔者经常要人肉查看从服务器那边JSON形式返回来的数据,虽说是JSON但可读性大家应该都懂的,如下的截图:要是在以前,那我大概会把这段JSON文本贴到网上某些提供JSON查看功能的网站,比如这个:http://jsonviewer.stack.hu/ ,但每次都要打开网站也是蛮烦的。最近不是用着Vim嘛,感觉这样的上古编辑器应该也有类似的功能吧,于是赶紧狗狗...

weixin_39622150的博客 218

在python中JSON数据格式的使用

JSON是一种数据格式,由美国程序设计师DouglasCrockford创建的,JSON全名是JavaScript Object Notation,由JSON英文全文字义我们可以推敲JSON的缘由,最初是为JavaScript开发的。这种数据格式由于简单好用被大量应用在Web开发与大数据数据库(NoSQL),现在已成为一种著名数据格式,Python与许多程序语言同时采用与支持。也由此在使用Python设计程序时,可以将数据以JSON格式存储,与其他程序语言的设计师。(摘自《python王者归来》)

码银的博客 3647

json格式的多条数据_使用 Python 处理 JSON 格式的数据

如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择。如果你对 Python 有所了解,就更加事半功倍了。下面就来介绍一下如何使用 Python 处理 JSON 数据。-- Seth Kenlon(作者)JSON 的全称是 JavaScript 对象表示法(JavaScript Object Notation)。这是一种以键值对的形式存储数据的格式,并且很容易解析,因而成为了...

weixin_39612228的博客 2799

PYTHON 中将数据以json格式输出

JSON数据 在日常使用python的过程中,常需要使用json对python的数据进行导出。 JSON数据是JavsScript的子集,专门用于指定结构化的数据,其基于ECMA-262标准,相比于XML,JSON是轻量化的数据交换方式。JSON是以人类更易读的方式传输结构化数据。 区别 表1 JSON和Python类型之 间的区别 JSON PYTHON2 PYTHON3 object dict dict array list tuple list tuple string u

euarcher的博客 1万+

使用 Python 处理 JSON 格式的数据

使用字典存放数据========如果你的应用需要存储一些结构复杂的数据,不妨考虑使用 JSON 格式。对比你可能曾经用过的自定义格式的文本配置文件,JSON 提供了更加结构化的可递归的存储格式。同时,Python 自带的 json 模块已经提供了可以将 JSON 数据导入/导出应用时所需的所有解析库。因此,你不需要针对 JSON 自行编写代码进行解析,而其他开发人员在与你的应用进行数据交互的时候也不需要去解析新的数据格式。正是这个原因,JSON 在数据交换时被广泛地采用了。

2501_90433175的博客 520

Python解析JSON格式数据

1、JSON简介 JSON是一种轻量级的数据交换格式,是常用的数据交换格式,全称JavaScript Object Notation,它起初来源于JavaScript这门语言,但因其采用完全独立于语言的文本格式,所以在使用时与开发语言无关,几乎每门开发语言都有处理JSON的方法。 JSON的数据结构有两种: 1. 键值对的无序集合——对象(object),形如: {'key1': 'value...

yeyuanxiaoxin的博客 2786

jsonpath:使用Python处理JSON数据

JSON全称为,一般翻译为JS标记,是一种轻量级的数据交换格式。是基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。易于阅读易于机器生成有效提升网络速度等。JSONPath是一种用于解析JSON数据的表达语言。经常用于解析和处理多层嵌套的JSON数据,其用法与解析XML数据的XPath表达式语言非常相似。

野路子云遇见不同的自己 1361

python处理json格式数据

文章目录一、背景1.序列化1.1 json.dump()1.2 to_json()1.3json.dumps()2.反序列化2.1 json.load()2.2 read_json()2.3 json.loads() 一、背景 json格式是一种轻量级的数据交换格式,结构上为键值对的形式,常见于爬虫和数据分析应用领域。Python中有json和pickle两个库可以处理json格式。 json和pickle库提供了四种处理方法:dumps,dump,loads,load json数据处理类型: 序列化:将

qq_24889005的博客 9152

python处理json格式的数据_使用 Python 处理 JSON 格式的数据

如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择。如果你对 Python 有所了解,就更加事半功倍了。下面就来介绍一下如何使用 Python 处理 JSON 数据。JSON 的全称是 JavaScript 对象表示法 JavaScript Object Notation。这是一种以键值对的形式存储数据的格式,并且很容易解析,因而成为了一种被广泛使用的数据格式。另外,不要因...

weixin_39994438的博客 124

如何使用Python处理JSON数据

本教程说明了使用Python编程语言处理JSON数据有多么容易。 在开始本主题之前,让我们简要定义JSON的含义。 让我们看看JSON的主要网站如何定义它: JSON (JavaScript对象表示法)是一种轻量级的数据交换格式。 人类易于阅读和书写。 机器很容易解析和生成。 它基于JavaScript编程语言 ( 标准ECMA-262第三版-1999年12月)的子集。 JSON是一种...

代码教主 2596
上一篇: 使用Qt访问Python Web服务 !
下一篇: Python 函数声明先后顺序的问题!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值