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
    +关注

    关注

    57

    文章

    4858

    浏览量

    89586

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

    工业计算机的重要性

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

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

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

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

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

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

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景中
    的头像 发表于 07-10 16:36 517次阅读
    工业<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 831次阅读

    一文带你了解工业计算机尺寸

    一项艰巨的任务。本博客指导您了解关键的工业计算机尺寸、使用案例。关键工业计算机外形要素及其使用案例一、工业微型PC尺寸范围:宽度:100毫米-180毫米深度:10
    的头像 发表于 04-24 13:35 790次阅读
    一文带你了解工业<b class='flag-5'>计算机</b>尺寸

    计算机网络入门指南

    计算机网络是指地理位置不同且具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
    的头像 发表于 04-22 14:29 1860次阅读
    <b class='flag-5'>计算机</b>网络入门指南

    NVIDIA 宣布推出 DGX Spark 个人 AI 计算机

    台式超级计算机由 NVIDIA Grace Blackwell 驱动,为开发者、研究人员和数据科学家提供加速 AI 功能;系统由头部计算机制造商(包括华硕、Dell Technologies、HP
    发表于 03-19 09:59 504次阅读
       NVIDIA 宣布推出 DGX Spark 个人 AI <b class='flag-5'>计算机</b>

    RTOS中的本地存储指针使用

    本地存储指针是RTOS中的一个重要特性,增强了任务管理和数据处理能力。在RTOS上下文中,本地存储是指
    的头像 发表于 02-28 16:33 1170次阅读
    RTOS中的<b class='flag-5'>本地</b><b class='flag-5'>存储</b>指针使用

    BU-67121W实验室航空电子接口计算机North Hills

    接解决方案。应用领域:系统集成实验室模拟器生产试验台系统故障排除软件开发数据记录核心特性:桥接功能:支持以太网、MIL-STD-1553和ARINC 429的桥接。开发计算机配置:搭载英特尔凌动
    发表于 02-11 09:26

    请问ccs4.2如何将采集数据导出成dat文件?

    ccs4.2如何将采集数据导出成dat文件
    发表于 01-14 08:08

    工业计算机的定义与重要性

    运行。随着现代产业向智能化、自动化和数据化的转型,工业计算机在制造业、交通运输、能源、电信等多个领域中扮演着越来越重要的角色。工业计算机的广阔应用促进了生产效率的提
    的头像 发表于 12-25 15:11 977次阅读
    工业<b class='flag-5'>计算机</b>的定义与重要性

    云端超级计算机使用教程

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的
    的头像 发表于 12-17 10:19 948次阅读