当前位置: 首页 > news >正文

瑞丽住建局网站凡科自助建站自己做网站

瑞丽住建局网站,凡科自助建站自己做网站,网站的控制面板,江苏省建设厅网站权力阳光系统订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付…
  • 订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+ 

                python项目实战

                Python编程基础教程系列(零基础小白搬砖逆袭)

  • 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,可报销(名额有限,先到先得)

        即将转为付费专栏,更多详细请看,五一或有优惠活动哦。

关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明

  • 作者:爱吃饼干的小白鼠。Python领域优质创作者,2022年度博客新星top100入围,荣获多家平台专家称号。

 最近更新

〖Python网络爬虫实战⑳〗- 数据存储之CSV操作实战

🌟上节回顾

我们在上一节博客中,和大家介绍了TXT保存,CSV文件保存,我们还和大家介绍了一篇CSV实战的博客。我们已经学习了好几种数据的存储方式。本篇博客,我们就来了解如何利用 Python 保存数据到 JSON 文件。

⭐️ JSON存储

我们首先,先来认识一下什么是JSON,JSON的全称为 JavaScript Object Notation, 也就是 JavaScript 对象标记,它通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。是一种非常常见的数据格式。

🌟对象和数组

在 JavaScript 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等,但是对象和数组是比较特殊且常用的两种类型,下面简要介绍一下它们。

✨对象

对象(Object):对象是 JavaScript 中最基本的数据类型,它是由一组属性和方法组成的封装体,通常被用于存储数据、服务等信息。一个对象通常是通过对象字面量或构造函数创建的。

{  "name": "John",  "age": 30,  "email": "john@edu.com",  "phone": "123-456-7890"  
}

在这个 JSON 对象中,每个键(key)都对应一个值(value),这些值被组织成一个数组,每个键值对表示 JSON 中的一行内容。对象内的这些数据之间是用逗号分隔的,这个分隔符也是 JSON 的一个特性。

✨数组

数组(Array):数组是一组相同类型的元素的集合,通常用于存储一系列数据。数组在 JavaScript 中非常常用,尤其是在需要动态存储一些大量数据的情况下,使用数组可以很方便地管理这些数据。数组在内存中占用较少的空间,也便于随机访问。

[  {  "name": "Alice",  "age": 30,  "email": "alice@edu.com"  },  {  "name": "Bob",  "age": 25,  "email": "bob@edu.com"  },  {  "name": "Charlie",  "age": 35,  "email": "charlie@edu.com"  }  
]

在 JavaScript 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引用得多。同样,值的类型可以是任意类型。

✨区别 

对象和数组的区别在于,对象是一个更加封装的数据结构,它包含了属性和方法,这些属性和方法可以被访问和修改。而数组则是一个更加灵活的数据结构,它可以存储不同类型的元素,而且可以通过索引访问元素。另外,数组是一个固定长度的数据结构,不能动态扩展大小,而对象则可以通过new操作符来创建新对象,同时还可以重写对象的方法。

总之,对象和数组都是 JavaScript 中非常重要的数据类型,可以根据具体情况来选择使用。在进行文本编辑、交互式数据处理等任务时,使用对象更加方便和灵活;而在需要存储大量数据或处理大规模数据时,使用数组更加方便和快速。

🌟读取 和输出JSON

Python 为我们提供了简单易用的 JSON 库来实现 JSON 文件的读写操作,我们可以调用 JSON 库的 loads 方法将 JSON 文本字符串转为 JSON 对象,实际上 JSON 对象为 Python 中的 list 和 dict 的嵌套和组合,这里称之为 JSON 对象。另外我们还可以通过 dumps 方法将 JSON 对象转为文本字符串。

✨loads方法

例如,这里我们用上面的JSON 形式的字符串作为演示,它是 str 类型,我们用 Python 将其转换为可操作的数据结构,如列表或字典:


import json
str =""" [{"name": "Alice","age": "30","email": "alice@edu.com"},{"name": "Bob","age": "25","email": "bob@edu.com"},{"name": "Charlie","age": "35","email": "charlie@edu.com"}
]
"""print(type(str))
data = json.loads(str)
print(data)
print(type(data))

我们来运行一下,看看效果。

<class 'str'>
[{'name': 'Alice', 'age': '30', 'email': 'alice@edu.com'}, {'name': 'Bob', 'age': '25', 'email': 'bob@edu.com'}, {'name': 'Charlie', 'age': '35', 'email': 'charlie@edu.com'}]
<class 'list'>

我们在这里需要注意,JSON 字符串的表示需要用双引号,否则,这里会出现 JSON 解析错误的提示。因为数据用单引号来包围,就会出现loads 方法会解析失败。

如果从 JSON 文本中读取内容,例如这里有一个 data.json 文本文件,其内容是刚才定义的 JSON 字符串,我们可以先将文本文件内容读出,然后再利用 loads 方法转化:

import jsonwith open('data.json', encoding='utf-8') as file:str = file.read()data = json.loads(str)print(data)

这样就把我们要的数据读取了。

dumps方法

另外,我们还可以调用 dumps 方法将 JSON 对象转化为字符串。例如,将上例中的列表重新写入文本。

import json# 定义一个 JSON 对象
data = {'name': 'Alice','age': '30','email': 'alice@example.com'
}# 将 JSON 对象转化为字符串
json_string = json.dumps(data)# 打印字符串
print(json_string)

我们来打印看看上面效果

{"name": "Alice", "age": "30", "email": "alice@example.com"}

如果,我们想写入到json文件,那么,我们如何写代码呢。

with open('data.json', 'w', encoding='utf-8') as file:file.write(json.dumps(data, indent=2, ensure_ascii=False))

这段代码将打开名为 data.json 的文件,并将 data 对象写入文件中。json.dumps() 方法用于将 data 对象转换为 JSON 字符串,并将其写入文件中。indent 参数用于指定缩进级别,ensure_ascii 参数用于指定是否确保字符串中的非 ASCII 字符正确显示。

在这个例子中,我们使用 json.dumps() 方法将 data 对象转换为带缩进的字符串,并将其写入文件中。在写入时,我们指定了 indent=2 参数,这意味着每个缩进级别将使用两个空格进行缩进。此外,我们还指定了 ensure_ascii=False 参数,这意味着输出的字符串将不会出现 BOM(字节顺序标记)。

类比 loads 与 load 方法,dumps 也有对应的 dump 方法,它可以直接将 JSON 对象全部写入到文件中,因此上述的写法也可以写为如下形式:

json.dump(data, open('data.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False)

这里第一个参数就是 JSON 对象,第二个参数可以传入文件操作对象,其他的 indent、ensure_ascii 对象还是保持不变,运行效果是一样的。 

🌟总结

loadloadsdumpdumps,它们之间的主要区别包括以下几点:

 1、json.loads将一个Python数据结构(字符串)转换为JSON格式数据

 2. json.dumps将一个JSON编码的字符串转换回一个Python数据结构,即字符串

 3. json.dump() 和 json.load() 来编码和解码JSON数据,用于处理文件

我们可以这样记忆:

按照如下记忆:
文件:dump、load
字符串:dumps、loads

编码:dump、dumps
解码:load、loads

http://www.yayakq.cn/news/680995/

相关文章:

  • 平果县免费网站哪家好网站及新媒体账号建设发布形式
  • 赣州住房和建设局网站网站建设汉狮怎么样
  • 网络网站排名优化o2o移动电子商务平台有哪些
  • 邢台优化网站排名安徽省住房和城乡建设厅网站
  • 广告推广费用一般多少seocui cn
  • 通常做网站的需求WordPress的网外无法访问
  • 建网站联系电话网站建设和网络维护
  • 如何做双语网站怎样查网站用什么程序做的
  • 防网站黑客海口模板建站系统
  • 腾讯云如何建设网站wordpress最新文章链接插件
  • 建设电子商务网站步骤wordpress posts表
  • 优秀的电商设计网站有哪些平台和自建网站服务提供者
  • 怎么创建图片网站个人怎么注册一家公司
  • 网站备案信息可以改吗深圳做小程序网站设计
  • 4k中国视频素材网站企业网站建设需求书
  • 网站建设相关视频教程中国联通 腾讯
  • 网站建设需求分析调查表死循环网站
  • 灵台教育局网站师资队伍建设网站群建设方案
  • 镇江建设网站如何建立一个网站根目录
  • 哪些网站适合做外贸网站推广外贸找客户有什么网站
  • 汽车类网站建设预算无锡建网站电话
  • 谷歌seo网站运营潇湘书院网站建设的目标
  • mvc 门户网站开发框架响水建设局网站
  • 动物网站建设策划书网站关键词seo优化公司
  • 少儿编程加盟店倒闭seo比较好的优化
  • 一个服务器能放多少网站手工制作灯笼步骤 教程
  • 襄阳网站建设xtehusinovation wordpress
  • 典型的网站开发人员优秀网站设计平台
  • 杭州免费建站英文版科技网站
  • 网站创建时间查询肖港网站开发