存储数据的几种方式:
1.JSON文件的存储:是一种轻量级的数据交换格式,它是基于ECMAScript的一个子集,在python中分别以list和dict组成 <<<<<<<<返回的是一个字典常用于数据解析>>>>>>>>>
json模块提供的四个功能: s = "{'name':'张三'}" --->>>json数据
1.json.dumps(obj,ensure_ascii = False(指:不要再随意转换十六进制了就输出中文)) ---->>>实现python类型转化为json字符串,返回一个str对象,把一个python对象编码转换成json对象
2.json.loads() ---->>>把json格式字符串解码转化成python对象,从json到python的类型转化
3.json.dump() ----->>>将python内置类型序列化为json对象后写入文件
4.json.load() ----->>>读取文件中json形式的字符串转化成python对象
2.CSV文件的存储:是一种以.csv结尾的文件(针对于Excel文件来说)
1.所有的值都是字符串
向csv文件中写入数据:
1.引入csv模块 import csv
2.使用我open()函数创建csv文件 with open("student.csv","a+",newline='') as file:
3.借助csv.writer()创建writer对象 writer = csv.writer(file)
4.调用writer对象的writerow()方法写入一行数据 writer.writerow([])
5.调用writer对象的writerows()方法写入多行数据 lst = [
[]
[]
]
writer.writerows(lst)
从csv文件读取数据:
1.引入csv模块 import csv
2.使用open()函数打开csv文件 with open("student.csv","r",newline='') as file:
3.借助csv.read()创建reader对象 reader = csv.reader(file)
4.读到的每一行都是一个列表 for row in reader:
print(row)
3.Excel表格存储数据:以 .xlsx 结尾的文件称为Excel文件,也称为一个工作簿(包含n多个sheet表格),每一个格子称为单元格 -->>import openpyxl
向Excel中写入数据:1.创建工作簿对象 openpyxl.Workbook()
2.获取活动工作表对象 wb.active
3.获取单元格 sheet[单元格名称('A1')]
4.向单元格中写入数据 cell.value = 值
5.向Excel中写入一行数据 sheet.append(列表)
6.保存Excel文件 wb.save()
从Excel中读取数据:1.加载工作簿对象 openpyxl.load_workbook(文件名)
2.获取活动工作表对象 wb.active
3.获取单元格 sheet[单元格名称]
4.获取单元格的值 cell.value
5.获取一系列格子 sheet['A'],sheet[3],sheet['A:C']
6.获取整个表格的所有行 sheet.rows
4.MySQL数据库存储数据:
MySQL(数据库管理系统)的数据类型:1.数值类型:int (4个字节) float (4个字节) integer (与int同义词) double (8个字节)
2.字符串类型: char (固定长度字符串) varchar (可变长度字符串)
3.日期/时间类型: Date:YYY-MM-DD Datetime:YYYY-MM-DD HH:MM:SS Time: HH:MM:SS
SQL(结构化查询语言)语言包含4个部分:1.数据定义语言 (如 create(创建),drop(删除),alter(修改)等语句) ----->>>针对数据库或表
2.数据查询语言 (select语句)
3.数据操纵语句 (insert(新增),delete(删除),update(修改)语句) ---->>>针对表中的数据
4.数据控制语句 (如 grant(赋予权限),revoke(回收权限),commit(提交事务),rollback(回滚事务)等语句)
SQL数据库名:database
表名: table
行: row
列: column
索引: index
主键(不允许重复 可设置auto_increment表示自动增长) : primary key
SQL定义语言:1.创建数据库--->>> create database 数据库名
2.显示所有数据库--->>> show databases
3.使用指定数据库--->>> use 数据库名
4.删除表---->>> drop table 表名
5.删除数据库---->>> drop database 数据库名
6.修改表结构: a.增加列---->>> alter table 表名 add 列名 数据类型(长度)
b.修改列的数据类型--->>> alter table 表名 modify 数据类型(长度)
c.修改列的名称--->>> alter table 表名 change 原列名 新列名 数据类型(长度)
d.删除列--->>> alter table 表名 drop 列名
SQL数据操纵语言:1.向表中插入数据---->>> insert into 表名 [(字段列表)] values (值列表)
2.修改表中数据----->>> update 表名 set 字段1=值1,字段2=值2 [where]
3.删除表中的数据----->>> delete from 表名 [where]
SQL数据查询语言:1.单表查询--->>> select ... from 表名 [where] ... [group by] ... [having]...[order by(排序) asc/desc]
2.模糊查询--->>> 只能与字符型一起使用的like关键字,区间范围的 between...and...在给定的值中进行选择的 in
3.分组函数 count() sum() avg() max()
SQL数据表连接查询(查询来源与两张表):select...from 表1 inner join 表2 on 链接条件 ..[where]...
select...from 表1 left/right join 表2 on 链接条件 ..[where]...
python与MySQL进行交互:
常用操作:插入数据: insert
查询数据: select
更新数据: update
创建数据库链接: connect(host,user,passwd,database)
5.MongoDB(存储数据)属于NOSQL,使用c++开发的,它是一种基于分布式文件存储的开源数据库系统,将数据存储为一个文档,数据结构由键值(key-value)对形成的
MongoDB文档类似于JSON对象,字段值可以包含其他文档,数组及文档数组
MongDB数据库叫:database
表名:collection
行: document or BSON document
列: field
自动添加的数(不允许重复): _id(auto set)
MongoDB数据类型: 1.Object ID:
a.每个文档(行)都有一个属性,为 _id,保证每个文档的唯一性
b.可以自己去设置_id插入文档,如果没有提供,那么MongoDB为每个文档提供一个独特的_id,类型为objectID
c.objectID是一个12字节的十六进制数(前4个字节为当前时间戳,接下来3个字节是机器ID,接下来的2个字节中是MongoDB的服务进程id,最后三个字节是简单的增量值)
2.String类型:(字符串,最常用,必须是有效的utf-8)
3.Boolean: (存储一个布尔值,True/False)
4.Integer:(整数可以是32位或64位,这取决于服务器)
5.Double:(存储浮点数)
6.Arrays:(数组或列表,多个值存储到一个键)
7.Object:(用于嵌入式的文档,即一个值为一个文档)
8.Null:(存储Null值)
9.Timestamp:(时间戳)
10.Date:(存储当前日期或时间的UNIX时间格式)
MongoDB最基本命令:
show databases; (查看已有数据库)
use dataname; (选择数据库)
show tables; (查看已有表(集合))
show collections; (查看已有表(集合))
db.createCollection('表名') (建表(集合))
db.集合名.drop() (删除集合)
db.dropDatabase() (删除库)
MongoDB的增 删 改操作:
db.集合名.insert(document) (数据的添加)
db.集合名.save(document) (如果存在就更新,不存在就添加)
db.集合名.update(query,update,multi) (query:查询条件,类似于sql语句update中的where部分
update:修改操作符,类似于sql语句update的set部分
multi:可选,默认是false,表示只修改找到的第一条记录,值为true表示把满足条件的文档全部修改)
db.集合名.remove(query) (删除数据,query为删除条件)
MongoDB的查询操作:
db.集合名.find({条件文档}) (查找所有的匹配数据)
db.集合名.findOne({条件文档}) (只返回匹配的第一个数据)
db.集合名.find().limit(number) (用于读取指定数量的文档)
db.集合名.find().limit(number).skip(number) (用于跳过指定数量的文档查询指定数量的文档)
db.集合名.find().sort({age:1/-1}) (参数为1为升序 参数为-1为降序)
db.集合名.find({条件}).count() (用于统计·结果·集中文档条数)
db.集合名.distinct('age') (对年龄进行去重)
db.集合名.find({'age':{$exists:true/false}}) (查询年龄存在/不存在的数据)
MongoDB中的比较符号:
db.student.find({'age':{'$eq':20}}) ---->>>年龄等于20
{'age':{'$lt':20}} ---->>>年龄小于20
{'age':{'$gt':20}} ---->>>年龄大于20
{'age':{'$lte':20}} ---->>>年龄小于等于20
{'age':{'$gte':20}} ---->>>年龄大于等于20
{'age':{'$ne':20}} ---->>>年龄不等于20
{'age':{'$in':[20,30]}} ---->>>年龄在20-30范围内 包括20和30
{'age':{'$nin':[20,30]}} ---->>>年龄不在20-30范围内
{'$or':[{'age':20},{'name':'张三'}]} ---->>>查询年龄是20的和查询名字是张三的数据
======================================================================================================================
python与MongoDB的交互操作:
1.导入 import pymongo
2.链接客户端 client = pymongo.MongoClient('localhost',27017)
3.获取要操作的数据库 db = client.数据库名 或 client['数据库名']
4.获取集合 collection = db.集合名 或 collection = db['集合名
']
对MongoDB中的数据进行操作:
1.添加数据: s1={'name':'张三','age':26}
s2=[{},{},{},{},{}]
collection.insert_one(s1) ---->>>向集合中添加s1数据
collection.insert_many([{},{}]/s2)
2.更新数据: collection.update_one({'name':'张三'},{'$set':{'age':12}}) --->>>($set用于保存其他数据)
collection.update_many({'name':'张三'},{'$set':{'age':12}}) --->>>(将所有名字是张三的人的年龄设置为12)
3.删除数据: collection.delete_one({'name':'张三'})
collection.delete_many({'age':{'$gte':20}})
4.查询数据: collection.find() (查询全部 也可以设定查询条件 collection.find({'name':'张三'}))
collection.find_one()
collection.find({'name':{'$regex':'.*三.*'}}) --->>>查询姓名中包含 二 的数据(.*三 属于正则表达式 表示三前面是任意字符任意长度)
5.对查询结果进行排序操作:
collection.find().sort('age',pymongo.ASCENDING) ---->>>升序排列 (返回的是一个列表,可以进行遍历显示能好看点)
collection.find().sort('age',pymongo.DESCENDING) ----->>>降序排列
collection.find().sort('age',pymongo.ASCENDING).limit(3) --->>>显示升序排列后前三条数据
collection.find().sort('age',pymongo.ASCENDING).skip(3).limit(3) --->>>查询升序排列后跳过前三条数据再查询之后三条数据
python爬虫怎么提取json数据 python 爬虫json
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python 网络爬虫
网络爬虫
html 字符串 json python 爬虫 -
python 爬虫返回json 爬虫json数据处理
【项目简述】 接触.NET项目很长一段时间了,前台用的都是MVC框架。不知道大家是否想过一个问题,我们是如何将数据显示到前台的,换句话说,MVC可以识别怎么样的数据形式?答案很简单,就是JSON数据。不太记得的,不妨找段代码看看,我们需要将数据显示到前台,一定会返回JSON类型
python 爬虫返回json json 测试 javascript ViewUI