百摩网
当前位置: 首页 生活百科

python中json格式数据处理(使用Python处理)

时间:2023-06-05 作者: 小编 阅读量: 1 栏目名: 生活百科

如果你对Python有所了解,就更加事半功倍了。这是一种以键值对的形式存储数据的格式,并且很容易解析,因而成为了一种被广泛使用的数据格式。下文会介绍它是如何在Python中使用的。正是这个原因,JSON在数据交换时被广泛地采用了。这个时候,可以使用Pythonjson模块中的load()方法:#!JSON非常灵活易用,下次使用Python的时候不妨尝试一下。

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

-- Seth Kenlon(作者)

JSON 的全称是 JavaScript 对象表示法(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 python3import json# instantiate an empty dictteam = {}# add a team memberteam['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 python3import jsonf = 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 filef.close()

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

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

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

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

使用 JSON

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


via: https://opensource.com/article/19/7/save-and-load-data-python-json

作者: Seth Kenlon 选题: lujun9972 译者: HankChow 校对: wxy

本文由 LCTT 原创编译, Linux中国 荣誉推出

点击“了解更多”可访问文内链接
    推荐阅读
  • 家用电线如何选择(家用电线怎样选择)

    可是为了住宅的美观、舒适、安全、实用,对家用电线电缆就不能随意选用和敷设,应根据家庭用电环境和用电总功率选用,同时消费者还应注重电线产品质量,增强敷电安全意识。一般在装修家用电线的时候每平方毫米截面粗的铜线能安全承受10a的电流,也就是2200瓦的负载,按照目前流行的每个房间单独布线集中控制的布线方式可以根据房间功能得出所需要多粗的电线。比如说厨房可能会有各种大功率的电热器,所以要考虑使用4平方毫米的线。

  • 阴阳师与君结缘搭配(阴阳师与君结缘平民通关阵容搭配)

    下面更多详细答案一起来看看吧!阴阳师与君结缘搭配阴阳师与君结缘平民通关阵容搭配如下:御魂及式神搭配破荒备选:八岐大蛇/茨林/云外镜,茨林需自行配速,4火可能断。aoe式神缺一只可以用丑女代替,作为传递伤害,小袖也可以考虑,输出最大化,如果有大蛇的萌新可以带着用王变蛇,关卡无时限,可以慢慢打。

  • 节瓜心能吃吗(节瓜心能不能吃)

    下面希望有你要的答案,我们一起来看看吧!节瓜心含有丰富碳水化合物,而且还包括蛋白质或者是维他命,还有核黄素、果糖和胡萝卜素,同时还可以补充身体内的磷质、钙质、铁质等营养元素。适当的吃节瓜或者是节瓜心后可以起到减肥利尿或者是清热解暑作用。当得了肾脏病或者是浮肿病可以吃节瓜心来改善,日常生活中要多到户外去锻炼一下身体,增强自己抵抗力。

  • 自制酸梅汤怎么做(自制酸梅汤的制作)

    自制酸梅汤的做法做法一乌梅浸泡2个小时,去除烟熏味。加入白糖搅拌均匀再煮几分钟。晾凉后将材料捞出,酸梅汤就做好了,放入冰箱冷藏后口感更佳。将酸梅汤隔漏网倒入凉杯后稍凉、盖上保鲜膜放入冰箱冷藏后即可饮用。其中,有一种特殊的枸橼酸,它能有效地抑制乳酸,并驱除使血管老化的有害物质。身体内乳酸含量过高,是导致人疲劳的重要原因。妇女正常月经期以及怀孕妇人产前产后最好也不要吃。儿童最好少吃酸梅类食品。

  • 加湿器晚上睡觉能开吗(加湿器晚上睡觉可以开吗)

    如果人一整天都在房间内的话,建议上午、下午、晚上各开两个小时左右,同时距离床头一米以上比较合适。冬季的时候,室内空气相对来说比较干燥,健康成人在室内时,建议室内湿度保持在45%~65%左右,家中如果有孩子、老人、或者有呼吸疾病的家人,室内湿度应控制在50%以内。在室内放置加湿器的时候,应该要远离墙面、电器、床头、同时放置在孩子不可触摸的地方。生活中对加湿器进行定期清洗、消毒,避免滋生细菌。

  • 如此的美味的野菜你吃过吗(戈壁才有的野菜)

    沙葱可不像韭菜、香葱一样在我国南北方都有分布,它是一种生长在环境比较恶劣的戈壁、草原的植物。尤其是在蒙古的大草原上,更是有着成片的沙葱,因此它也被称之为“蒙古韭”。如果吃起来的话,沙葱虽然有辛香味,可是却并不辣口,整体的感觉倒是和韭菜很相似,细细品尝甚至还有几丝清甜的味道。在最开始的时候,沙葱并不是人类吃的野菜,反而是牛羊们的食物。本来在戈壁、草原上的蔬菜很少,从此以后沙葱就成为了牧民喜爱的蔬菜。

  • 爱我别想太多最后大结局(爱我别想太多主演有谁)

    他觉得夏可可很虚伪,且很虚荣,于是选择了离婚,但因为公司上市的关系,离婚的事情不能对外声张,所以他必须在这段婚姻中再隐忍一阵子,但在这段时间里,他又发现了夏可可的好,二人最后婚没有离成,反倒是关系更加密切了,而且李洪海的公司上市成功,变得更有钱,事业更加成功,一家人过着幸福的生活。

  • 冬至什么吃饺子(冬至吃啥饺子)

    这种风俗,据说是因纪念医圣张仲景冬至舍药留下的。所以,在中国北方,一到农历冬至这天,不论贫富,饺子就成为必不可少的节日饭。在一些地方,一到冬至这天,一家人就会忙忙碌碌,准备各种饺子皮、饺子馅,然后一家人围坐在一起包饺子,吃饺子,团团圆圆过冬至。除了北方吃饺子,南方还有吃汤圆的习俗,寓意,圆圆满满、团团圆圆。

  • 广西空难人员明细(一段广西空难亲属的哭诉)

    (但)“航旅纵横”上面显示已落地广州白云机场。4点10分不到,手机推送了官方消息,确定坠毁。确认失事时候发了。刚好海口有一架飞机(中转),第二天一早飞南宁,第一时间从南宁坐动车,赶紧去藤县。很庆幸,我坐上了去藤县的最后一班车。陈执搭乘网友的车靠近坠机现场时。(弟弟)学校暂时没有开学,疫情严重。(我)还没去藤县,父母伤心过度,输液中,现在不能坐车了,我还要照顾,只能等消息。

  • 渤海大学是几本(大家可以了解一下)

    渤海大学是几本?下面更多详细答案一起来看看吧!渤海大学是几本渤海大学在辽宁是本科批次招生,所以我们说渤海大学是本科大学如果你不是辽宁考生,渤海大学在你所在的省份是本科一批招生的话,你也可以说渤海大学是一本大学。教育部门并没有说渤海大学是一本还是二本,渤海大学是几本只是民间说法。