0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将各种数据存储到本地计算机?

华为开发者社区 来源:华为云社区 作者:Yuchuan 2021-04-20 14:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

您知道如何从在线API传输数据或将各种数据存储到本地计算机吗?

您已经将自己沉浸于JSON的一种方式中,JSON表示Java Script Object Notation。它是一种著名的流行数据格式,用于表示半结构化数据。让我们详细了解Python JSON。

本文将讨论以下方面:

Python JSON简介

如何在Python中读取JSON文件

解析中

从Python转换为JSON

从JSON转换为Python

熊猫解析JSON

JSON序列化[编码]

漂亮的印刷J

SON的反序列化[解码]

编码示范

Python JSON简介:

JSON代表JAVA小号script objectn浮选是存储在一个有组织的和容易的方式信息的方式。在浏览器和服务器之间交换数据时,数据必须为文本形式。

如果您想知道它是否是JavaScript?那么答案是否定的。它是一个由文本组成的脚本,用于以人类和机器可读格式存储和传输数据。它是一种受JavaScript启发的小型轻量数据格式,通常以文本或字符串格式使用。JSON数据包几乎等同于python字典。现在,您一定想知道。

如何在Python中读取JSON文件?

问题的答案是,您必须导入JSON模块,该模块通常将Python数据类型转换为JSON字符串文件。它由直接从JSON文件读取和写入的JSON函数组成。Python具有内置的JSON包,并且是标准库的一部分,因此您无需安装它。

例子:

import json

现在您已经了解了Python中的JSON,下面让我们更深入地分析Parsing。

解析:JSON库可以从字符串或文件中解析JSON 。它还可以将JSON解析到Python字典或列表中,反之亦然。解析通常分为两个阶段:

从JSON转换为Python

从Python转换为JSON

让我们更好地了解这两个阶段。

从JSON转换为Python:

您可以使用以下方法将JSON字符串转换为

Python json.loads()。

例子:

import jsonpeople_string = ‘’‘{“people”:[{“emp_name”: “John smith”,“emp_no.”: “924367-567-23”,“emp_email”: [“johnsmith@dummyemail.com”],“has_license”: “false”},{“emp_name”: “harshit kant”,“emp_number”: “560-555-5153”,“emp_email”: “null”,“has_license”: “true”}]}’‘’data = json.loads(people_string)print(data)

输出:

f8663674-9f14-11eb-8b86-12bb97331649.png

从上面的输出中可以看到,它已经打印了Python字典。让我们打印数据类型以更好地理解。

例子:

import jsonpeople_string = ‘’‘{“people”:[{“emp_name”: “John smith”,“emp_no.”: “924367-567-23”,“emp_email”: [“johnsmith@dummyemail.com”],“has_license”: “false”},{“emp_name”: “harshit kant”,“emp_number”: “560-555-5153”,“emp_email”: “null”,“has_license”: “true”}]}’‘’data = json.loads(people_string)print(type(data)) #prints the datatype

输出:

《class‘dict’》

现在,您已经熟悉一个转换,让我们在第二阶段看看另一种转换类型。

从Python转换为JSON:

通过使用json.dumps()。 下面给出的示例,可以将Python对象转换为JSON字符串:

例子:

import jsonpeople_string = ‘’‘{“people”:[{“emp_name”: “John smith”,“emp_no.”: “924367-567-23”,“emp_email”: [“johnsmith@dummyemail.com”],“has_license”: “false”},{“emp_name”: “harshit kant”,“emp_no.”: “560-555-5153”,“emp_email”: “null”,“has_license”: “true”}]}’‘’data = json.loads(people_string)new_string = json.dumps(data)print(new_string)

输出:

f89bae94-9f14-11eb-8b86-12bb97331649.png

输出将是JSON字符串类型。我已经在JSON到Python的转换中演示了数据类型,将遵循相同的过程来打印数据类型。

让我们继续前进,看看Pandas如何解析JSON。

熊猫解析JSON:

可以通过以下步骤将JSON字符串解析为pandas Dataframe:

以下通用结构可用于将JSON字符串加载到DataFrame中

import pandas as pd

pd.read_json(r‘Path where you saved the JSON fileFile Name.json’)

准备JSON字符串。

创建一个我们正在使用的JSON文件nobel_prize.json。

将JSON文件加载到pandas DataFrame中。

下面实现的代码将我的JSON文件加载到DataFrame中。

import pandas as pdimport json

with open(r‘C:UsersHarshit_KantDesktopnobel.prize.json’) as f: data = json.load(f)print (data)

df = pd.DataFrame

print(df)

输出:

f8ada216-9f14-11eb-8b86-12bb97331649.png

继续前进,让我们看看如何在Python中序列化JSON。

JSON序列化[编码]:

序列化JSON只是意味着您正在编码JSON。它将给定的Python数据结构(ex:dict)转换为其有效的JSON对象。为了处理文件中的数据流,Python中的JSON库使用dump()和dumps()方法,该方法进行转换并使其易于将数据写入文件中。

下表是说明将Python数据类型转换为各自的JSON类型的表格。

f8c5eeca-9f14-11eb-8b86-12bb97331649.png

要记住的要点:

dump() –将数据转换为JSON文件

dumps() –将数据转换为JSON字符串

load() –将JSON文件转换为Python对象

loads()–将JSON字符串的对象转换为Python对象

漂亮的印刷:

Pretty Printing负责代码对齐并使其以人类可读的格式进行。让我们看下面的示例,其中我传递了两个参数‘sort_keys’,这些参数始终返回布尔True值和‘indent’空格。

例子:

import jsonpeople_string = ‘’‘{“people”:[{ “emp_name”: “John smith”, “emp_no.”: “924367-567-23”, “emp_email”: [“johnsmith@dummyemail.com”], “has_license”: “false”},{ “emp_name”: “harshit kant”, “emp_no.”: “560-555-5153”, “emp_email”: “null”, “has_license”: “true”}]}’‘’

data = json.loads(people_string)new_string = json.dumps(data, sort_keys=True, indent=3)print(new_string)

输出:

f8cfea88-9f14-11eb-8b86-12bb97331649.png

继续进行Python JSON教程,让我们了解JSON的反序列化。

JSON的反序列化[Decode]:

JSON的反序列化与序列化完全相反,也就是说,这意味着您正在解码JSON。它将通过使用执行转换的load()和load()方法将给定的JSON字符串转换为Python对象。

下表是说明将JSON数据类型转换为其相应的Python类型的表格。

f8eb0584-9f14-11eb-8b86-12bb97331649.png

继续进行“ Python JSON”教程。我将通过编码的角度向您展示一个同时进行序列化和反序列化的实时示例。

编码演示:在此编码演示中,我将使用此处给出的JSON数据集,称为“诺贝尔奖” 。您将学习如何通过JSON文件进行序列化和反序列化。

示例(JSON数据集的序列化):

import json

with open(‘nobel_prize.json.html’) as f: data = json.load(f)

with open(‘new_nobel_prize.json.html’) as f: json.dump(data,f,indent=2)

输出:Python代码已成功编译,并创建了一个新文件“ new_nobel_prize.json”,将从现有文件“ nobel_prize.json”中转储数据。

f908f404-9f14-11eb-8b86-12bb97331649.png

示例(JSON数据集的反序列化):

import json

with open(‘nobel_prize.json.html’) as f:data = json.load(f)

for nobel_prize in data[‘prizes’]:print(nobel_prize[‘year’],nobel_prize[‘category’])

输出:该代码段显示了从JSON文件到其相应的Python对象的更改。

f926ae7c-9f14-11eb-8b86-12bb97331649.png

希望您对与JSON的解析,序列化和反序列化有关的所有概念感到清楚。

原文标题:从零开始学python | 什么是Python JSON?

文章出处:【微信公众号:华为开发者社区】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90423

原文标题:从零开始学python | 什么是Python JSON?

文章出处:【微信号:Huawei_Developer,微信公众号:华为开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业边缘计算机是什么?有什么推荐?

    工业边缘计算机正在成为智能制造和工业物联网的核心设备。它部署在工厂车间、设备近端,负责实时处理海量工业数据——相比全部数据上传云端,边缘计算
    的头像 发表于 05-22 14:57 106次阅读
    工业边缘<b class='flag-5'>计算机</b>是什么?有什么推荐?

    计算机专业408考研科目

    ”模型。 在这个阶段,不要急于背诵数据结构的代码或操作系统的算法,而是要理解计算机是如何“思考”的。你需要将数据结构视为信息的组织方式,组成原理视为信息的物理载体,
    发表于 04-11 16:44

    S32 Design Studio 有一些代码文件示例,但它在本地计算机中不存在,为什么?

    S32 Design Studio 有一些代码文件示例,但它在本地计算机中不存在。
    发表于 03-17 07:28

    工业边缘计算机是什么?有什么功能?

    工业边缘计算机是部署在工业现场边缘侧,具备计算存储、网络能力,能就近处理工业数据并实现快速决策的专用设备。它通过算力下沉至靠近
    的头像 发表于 02-12 14:43 948次阅读

    十进制计算机硬件体系结构及“独值”量化逻辑运算革命(一)

    采用“独值”量化逻辑理论设计十进制数字计算机,十进制网络计算机,十进制模拟计算机,十进制模糊计算机,实现计算机类型多样化,
    的头像 发表于 01-29 09:13 1192次阅读
    十进制<b class='flag-5'>计算机</b>硬件体系结构及“独值”量化逻辑运算革命(一)

    龙芯主板让工控计算机拥有安全可信的核心

    工控计算机,是工业自动化和智能制造领域的核心设备,负责数据采集、处理、存储与传输,实现设备的监控与控制,确保生产线的稳定运行。在现代工业生产中,工控计算机的地位不可或缺,它如同智能制造
    的头像 发表于 01-21 09:02 522次阅读

    工控机与普通计算机的核心差异解析

    在工业自动化和智能制造领域,计算机设备作为核心控制单元,其选择直接影响整个系统的稳定性与可靠性。工控机与普通计算机虽同属计算设备,但其设计目标、性能侧重和应用场景存在根本性差异。准确理解这些差异,是进行正确设备选型的基础。
    的头像 发表于 11-25 14:45 2078次阅读
    工控机与普通<b class='flag-5'>计算机</b>的核心差异解析

    贸泽电子开售全新Arduino UNO Q单板计算机

    贸泽电子开售全新Arduino UNO Q单板计算机。Arduino UNO Q单板计算机(SBC)高性能计算与实时控制结合,提供理想的创新平台。
    的头像 发表于 11-08 09:50 1692次阅读

    NVIDIA DGX Spark桌面AI计算机开启预订

    DGX Spark 现已开启预订!丽台科技作为 NVIDIA 授权分销商,提供从产品服务的一站式解决方案,助力轻松部署桌面 AI 计算机
    的头像 发表于 09-23 17:20 1646次阅读
    NVIDIA DGX Spark桌面AI<b class='flag-5'>计算机</b>开启预订

    【作品合集】赛昉科技VisionFive 2单板计算机开发板测评

    赛昉科技VisionFive 2单板计算机开发板测评作品合集 产品介绍: 昉·星光 2是全球首款集成了3D GPU的高性能量产RISC-V单板计算机,搭载昉·惊鸿-7110(型号:JH-7110
    发表于 09-04 09:08

    工业计算机的重要性

    于管理用于产品检查、数据记录和数据分析的运动控制系统,以提高制造生产率。例如,汽车行业从工业边缘计算机中受益匪浅,这些计算机用于自动化制造汽车所涉及的
    的头像 发表于 07-28 16:07 818次阅读
    工业<b class='flag-5'>计算机</b>的重要性

    自动化计算机经过加固后有什么好处?

    让我们讨论一下部署坚固的自动化计算机的一些好处。1.温度范围宽自动化计算机经过工程设计,配备了支持宽温度范围的组件,使自动化计算解决方案能够在各种不同的极端环境中运行。自动化
    的头像 发表于 07-21 16:44 824次阅读
    自动化<b class='flag-5'>计算机</b>经过加固后有什么好处?

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 981次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景中
    的头像 发表于 07-10 16:36 996次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    Blue Lion超级计算机将在NVIDIA Vera Rubin上运行

    德国莱布尼茨超算中心(LRZ)迎来全新超级计算机 Blue Lion,其算力比该中心现有的 SuperMUC-NG 高性能计算机提升了约 30 倍。这台新的超级计算机将在 NVIDI
    的头像 发表于 06-12 15:39 1461次阅读