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

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

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

如果你对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中国 荣誉推出

点击“了解更多”可访问文内链接
    推荐阅读
  • 好喝的苦瓜饮料(每一口都蕴含夏天的清爽)

    每一口都蕴含夏天的清爽近些年国内食品饮料趋势向着更健康、更天然的方向发展,除了的新品推崇天然营养、清淡口味外,有新意、健康的食材也进入研发新项目风味清新且有具有减肥清脂功效的苦瓜自然成为各大健康饮料的首选食材,通过与甜味、。

  • 湖南省地质博物馆门票预约窗口有哪些?

    如发生爽约行为,从爽约日起,爽约人将被纳入黑名单,一个季度内同身份证相关手机号码将无法约票。

  • html5通用播放器代码(HTML5网页嵌入式swf播放器代码)

    作为一个免费建站的新手,受制于免费空间的容量和空间主机分给你的处理能力,自己安装相对庞大的视频网站程序是不可能的。怎样才能解决网站的视频播放问题呢?你不妨在网页中插入以下代码试试!

  • 苹果手机如何开启USB调试(苹果手机如何开启usb调试模式)

    4、在新弹出的子菜单窗口中,分别将开发者选项,uSB调试后面的开关滑向右侧打开。

  • 藐怎么读(藐的读音)

    我们一起去了解并探讨一下这个问题吧!)小,幼:藐孤、藐小。藐视[miǎoshì]轻视;小看:在战略上要藐视敌人,在战术上要重视敌人。高藐[gāomiǎo]犹高深。眇藐[miǎomiǎo]幼小。欺藐[qīmiǎo]欺负藐视。

  • 拖地拖得干净的拖把有多少种(叫你如何选择拖把)

    而且这种布易掉,易腐烂。棉线拖把,价格是20元,这种拖把跟棉布拖把差不多,比棉布拖把轻巧些,线也容易掉。胶棉拖把这种拖把也买过几个,价格20-60元。胶棉拖把如果几天不要会边干,用时要在水里浸一下,让它吸水,它的优点是手不用沾水,而且水记得比较干,地上的脏污吸得干净,地上没什么水。缺点是拖把的海绵易坏,拖把的零件也易坏。优点是拖的范围大,节省时间。比较适合公共场所用,而且只能是瓷砖的地。

  • 王者荣耀好听男生名字大全(王者荣耀好听男生名字大全精选)

    我36D先救我中国人民很行,下面我们就来聊聊关于王者荣耀好听男生名字大全?王者荣耀好听男生名字大全我36D先救我中国人民很行林品如你爹元气少妇向着太阳迎着光青春易逝成王败寇有志者事竟成配角也会发光江南情书碎语情长赠予我吻愿今生与你共览只为情郎红爱难言以余生谈论爱想和你酥麻热恋到老盛夏之末记得微笑人间失格荒野的公寓森浓有荒云清雾淡潇湘雨夜独听琴海阔山遥一生的爱意第几类爱情等你啄唇爱情网名

  • 手捻葫芦怎么快速盘红(手捻葫芦快速盘红的方法)

    小葫芦未包浆时,密度不高,盘玩时,务必保持手的洁净,防止污泥浸入。也不要上油,包括脸油和核桃油等,会导致油脂渗入程度不同,形成不均匀的皮色,手上的油脂已足够。如果是大汗手,最好戴棉布手套盘玩。盘玩时,力度要适中,因为葫芦的外皮只有薄薄的一层,不要用力猛搓表面,太用力的揉搓,反而会让挂瓷更慢。初盘时,也要讲究盘玩节奏,可以盘一天,放一两天,至挂瓷包浆后,则不受限制。

  • vipjr培训学校(vipjr学习效果怎么样)

    虽不是我好奇的问题,但是我还是愿意总结出来分享给大家,通过我家孩子的变化让家长们对在线教育更放心。一般来说孩子的叛逆期总是在十几岁,这个阶段不能够正确的引导孩子,或许会酿成悲剧,所以,一个好的良师益友是有必要的,vipjr英语一直占据在家长们心目中,我了解到,很多家长对他念念不忘是因为价格,6节课1000多元,平均下来一节课将达到200元。

  • 农家小二小时候的玩具(面粉公仔童年的回忆)

    童年最美好时光之一,围观民间艺人设摊制售,用彩色面粉团,手工掐造成童话小人及动物,极想拥有一个。那年代,有许多村童,只是梦想。图片来源,自拍于广州市的街上小摊。欢迎光临,祝您好运!