07-爬虫数据存取-JSON文件格式处理

四种数据存储部分:
1.JSON文件格式处理
2.CSV文件格式处理
3.Excel文件处理
4.MySQL数据库处理

 

JSON字符串

JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它基于ECMAScript(w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

注意

该网站专门用于在线解析JSON https://www.json.cn

json库是python自带的标准库,无需安装,直接可以用import json

JSON支持数据格式:

对象(字典):使用花括号

数组(列表):使用方括号

字符串类型:字符串必须要用双引号,不能用单引号

整形、浮点型、布尔类型还有null类型

多个数据之间使用逗号分开。

注意:JSON本质上就是一个字符串

 

1.将python对象转换成JSON字符串:
1>.dumps函数:只能把python对象转化为json格式的字符串
2>.dump函数:先把python对象转化为json格式的字符串,再接收一个文件指针fp参数,存储写入到文件中

注意:
这两个方法都有一个"ensure_ascii"参数
1>当ensure_ascii=True时,指的是转换后的json格式的字符串,只能存储ascii格式的,不能存储中文
2>当ensure_ascii=False时,指的是转换后的json格式的字符串,可以存储中文

# json库,将python对象转化为json字符串(dump函数和dumps函数) python对象的list --> json格式的str

import json

books = [
    {
        "name":"王权富贵",
        "age":20
    },
    {
        "name":"东方月初",
        "age":23
    }
]
print(books)

# dumps函数:把python对象转化为json字符串
result = json.dumps(books)
print("json字符串:",result)
print("数据类型:",type(result))

# dump函数:一次性把python对象转化为json字符串,然后存储在文件中(ensure_ascii=False写入文件时显示中文,而不是JSON字符串)
fp = open(r"F:/爬虫/第四章-爬虫数据存储/books.json","w",encoding="utf-8")
json.dump(books,fp,ensure_ascii=False)
print("\n保存books文件数据成功!")
fp.close()

2.将JSON字符串转换成python对象:
1>.loads函数:把JSON字符串转换成python对象
2>.load函数:把JSON字符串转换成python对象,并且时直接从文件中获取JSON字符串

# json库,将JSON字符串转换成python对象(load函数和loads函数) json格式的str --> python对象的list

import json

json_str = '[{"name": "王权富贵", "age": 20}, {"name": "东方月初", "age": 23}]'

# loads函数:把JSON字符串转换成python对象
result = json.loads(json_str)
print("python对象:",result)
print("数据类型:",type(result))

# load函数:可以从文件中读取,再把JSON字符串转换成python对象
with open(r"F:/爬虫/第四章-爬虫数据存储/books.json","r",encoding="utf-8") as fp:
    result_2 = json.load(fp)
    print("\npython对象:",result_2)
    print("数据类型:",type(result_2))

 

posted @ 2021-03-09 13:31  马铃薯1  阅读(468)  评论(0编辑  收藏  举报