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

    关注

    55

    文章

    4777

    浏览量

    84417

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

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

收藏 人收藏

    评论

    相关推荐

    ROM对计算机性能的影响

    是一种非易失性存储器,即使在断电的情况下也能保持数据不丢失。它通常用于存储固件,这些固件是计算机启动和运行操作系统所必需的。ROM的内容在制造过程中被写入,并且通常不能被用户更改。 R
    的头像 发表于 11-04 10:31 148次阅读

    教程:ARMxy工业计算机上Node-RED连接本地MySQL的方法

    选择。与此同时,MySQL数据库因其高性能和可靠性,在工业数据存储方面扮演着重要角色。 本文介绍如何在ARMxy工业计算机上使用Node-
    的头像 发表于 10-11 10:24 166次阅读
    教程:ARMxy工业<b class='flag-5'>计算机</b>上Node-RED连接<b class='flag-5'>本地</b>MySQL的方法

    计算机存储系统的工作原理和功能

    计算机存储系统作为计算机系统中至关重要的组成部分,其原理和功能对于理解计算机的运行机制具有关键意义。以下详细阐述
    的头像 发表于 09-26 16:42 574次阅读

    计算机存储系统的构成

    计算机存储系统是计算机中用于存放程序和数据的设备或部件的集合,它构成了计算机信息处理的基础。一个完整的
    的头像 发表于 09-26 15:25 496次阅读

    计算机存储器的分类及其区别

    计算机存储器是计算机系统中不可或缺的重要部分,用于存放程序和数据。随着科技的进步,存储器的种类越来越多,功能和性能也日益丰富。一般来说,
    的头像 发表于 09-05 10:40 963次阅读

    存储器在微型计算机系统中的作用

    存储器在微型计算机系统中扮演着至关重要的角色,它是计算机存储和处理数据的核心部件。以下详细介绍
    的头像 发表于 08-22 14:25 1539次阅读

    DRAM在计算机中的应用

    DRAM(Dynamic Random Access Memory,动态随机存取存储器)在计算机系统中扮演着至关重要的角色。它是一种半导体存储器,用于存储和快速访问
    的头像 发表于 07-24 17:04 881次阅读

    工业计算机与普通计算机的区别

    在信息化和自动化日益发展的今天,计算机已经成为了我们日常生活和工作中不可或缺的工具。然而,在计算机领域中,工业计算机和普通计算机虽然都具备基本的计算
    的头像 发表于 06-06 16:45 1149次阅读

    【量子计算机重构未来 | 阅读体验】+ 了解量子叠加原理

    )。通过逻辑门来执行操作二进制数据,逻辑门是一种基本电路,它可以一个或多个输入转换为输出。逻辑门包括与门、或门、非门等等,许许多多逻辑门组合起来就可以构建复杂的电路来执行各种操作,
    发表于 03-13 17:19

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    话对我触动很大:量子计算机不仅能解决身边的问题,还能解决社会层面的重大课题。 看来真是“天下武功,唯快不破”,只要处理速度足够快,海量数据处理就像计算1+1一样简单,可以想象一下,用量子计算机
    发表于 03-05 17:37

    计算机系统由什么两部分组成 计算机系统的层次结构

    的各项工作。内存是计算机的主存储器,用于暂时存放数据和指令。存储设备包括硬盘、固态硬盘、光盘等,用于长期存储大量的
    的头像 发表于 02-01 14:13 3466次阅读

    微机原理和计算机组成原理的区别

    微机原理和计算机组成原理是计算机科学中两个重要的主题,它们虽然有一定的关联,但也存在一些区别。本文详细阐述微机原理和计算机组成原理的区别,并从不同的角度对它们进行分析比较。 首先,我
    的头像 发表于 01-14 14:56 3123次阅读

    单板计算机是什么?它与其他计算机有何不同?

    存储器、通信接口等。它们通常以一个小而紧凑的电路板形式出现,并提供了完整的计算和控制功能。 与传统的台式机和笔记本电脑相比,单板计算机的尺寸更小、功耗更低、价格更便宜。它可以方便地集成
    的头像 发表于 12-15 09:58 1373次阅读

    NOR FLASH对计算机存储有何作用?

    NOR FLASH是一种非易失性存储技术,对计算机存储具有重大影响,闪存其独特的特性和功能影响着计算机存储系统的各个方面
    的头像 发表于 12-05 10:32 803次阅读

    计算机存储技术相关知识

    计算机存储主要分为四类:一级存储:与 CPU 直接连通,CPU 会不断读取存储在这里的指令集,并在需要时运行这些指令集。
    的头像 发表于 11-23 11:30 1395次阅读
    <b class='flag-5'>计算机</b><b class='flag-5'>存储</b>技术相关知识