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))