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

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中国 荣誉推出

点击“了解更多”可访问文内链接
    推荐阅读
  • 鲁冰花适合什么气候(花朵则像花塔一般的鲁冰花)

    鲁冰花在生长期间要避免过度高温,它对水分需求也不大,不要栽种在低洼的地方,盆栽养护要避免土壤长期潮湿。想要促进鲁冰花开花更旺盛,一般是在播种育苗,1~2个月之后就要开始补充肥料了,生长旺期一般是每周给一次有机肥水,促进根茎生长健壮,来年才能孕育更多的花朵。鲁冰花的花朵在开放期间是要给予较多的光照,这样才能开花更多,花苞生长更加健壮,花朵的香味才会更加浓烈。

  • dmp文件怎么打开(dmp文件打开方法)

    下面希望有你要的答案,我们一起来看看吧!dmp文件怎么打开下载安装“debuggingtools”工具。点击“开始”菜单,点击“windbag”。打开后点击“File”--“OpenCrashDump”,选择.DMP文件打开,点击“yes”,可以显示出.DMP文件内容。

  • 火车票改签时间提前多久(大家可以了解一下)

    火车票改签时间提前多久?下面希望有你要的答案,我们一起来看看吧!改签以铁路有运输能力为前提,只变更乘车日期、车次、席(铺)位,不变更发站和到站。旅客在变更旅行计划前,请通过12306网站、12306客服电话、车票售票窗口显示屏等方式查询拟乘坐的列车是否有足够余票,避免到时因没有余票不能改签而影响行程。

  • 东南亚共几个国家(东南亚国家有哪些领土问题)

    东南亚国家有哪些领土问题东南亚位于亚洲东南部东南亚主要包括马来半岛和马来群岛两大部分中南半岛为亚洲南部三大半岛之之一,面积为206万平方千米,主要国家为越南,老挝,柬埔寨,缅甸和泰国马来群岛是世界上最大的群岛,面积大约为25。

  • 五毒屋剧情介绍(五毒屋剧情如何)

    五毒屋剧情介绍?以下内容希望对你有帮助!五毒屋剧情介绍《五毒屋》是由巴迪潘·巴塔卫刚、沃恩吉莱·勒姆威拉伊、NatharikaThamapreedanan、希拉潘·瓦塔娜金达、瓦拉甘·希瑞嵩、葵咪莎拉·普碟、娜塔雅·通森、塔那帕特·卡维拉等主演的泰国电视剧。在拉玛六世末期,政府宣布将出示一夫一妻制婚姻证明。拥有所有资产权利的合法妻子只有一位。与同一个男人结婚的四个女人开始互相争斗,试图成为合法的妻子。

  • 炉石传说黄金线上赛报名(黄金线上赛最后报名机会)

    最近有关注过《炉石传说》相关电竞赛事的朋友肯定知道,最近一阵子那比赛真的不是一般的多。大家只需要下载炉石传说官方插件,然后在比赛的规定时间打开客户端,就能看到右下角多了一个“赛事中心”按钮,点击之后即可看到一个有很多比赛的列表,在列表中选择黄金线上赛即可。并且本届比赛不限参加次数,只看最后积分排名。

  • 牛皮冻制作方法(怎么制作牛皮冻)

    我们一起去了解并探讨一下这个问题吧!牛皮冻制作方法将牛皮去毛,焯水后放入清水中漂洗干净,待用。放入葱、姜、蒜。再放入适量的盐、糖、生抽、老抽、料酒、水后,放入高压锅内煮,煮开后,小火焖二十分钟左右。待冷却后,捞去葱、姜、蒜,倒入保鮮盒内冻成型。将皮冻切成条状。最后切成片状,装盆,并用一片香菜叶装饰。

  • 老人请保姆好还是去养老院(养老院养老好还是雇保姆照顾好)

    一位68岁的退休老人说出了实话,让我们一起来听听他怎么说。自述人:程大爷68岁我今年68岁,我在55岁那年就已经退休了,从我退休之后,我每个月的退休金都有5000块钱一个月,有了这5000块钱我的晚年生活一点烦恼都没有。我还有两个女儿,我这两个女儿对我非常的孝顺,而且她们两人也非常的懂事,在我老伴去世之后,一直都是她们在照顾我,也让我过上了一段幸福的生活。

  • 战狼2票房是不是全球第一了(战狼2国内票房领先哪吒近8亿)

    打开票房网站一看,原本在暑期档横扫千军的《哪吒之魔童降世》已经退居到第5位置之上了。《哪吒》已经跑不动了,显然这并非是骇人耸听的话语,而是所有动漫迷都不得不承认的事实。而《流浪地球》在上半年获得了587万美金票房,却也已然被《哪吒》追过了一半有多,想来在未来所剩的半个月时间中,势必会对其发起最具压迫性的票房冲击呢。

  • 花椒可以消炎吗(花椒能杀菌消炎的作用吗)

    中医认为花椒性温,有温中散寒、除湿、止痛、杀虫的作用,春季适度食用,有助于人体阳气的生发。同时,春季各种细菌病毒开始繁殖,是流行病的多发季节,而花椒中的挥发油可提高体内巨噬细胞的吞噬活性,进而可增强机体的免疫能力,并且花椒对白喉杆菌、肺炎双球菌、金黄色葡萄球菌和某些皮肤真菌有抑制作用。如果需要消炎,建议使用正规的消炎药水比较好,如双氧水、红药水等,以免造成进一步感染,贻误治疗时机。