存储数据的几种方式: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 csv2.使用我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 csv2.使用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.active3.获取单元格          sheet[单元格名称('A1')]4.向单元格中写入数据    cell.value = 值5.向Excel中写入一行数据    sheet.append(列表)6.保存Excel文件         wb.save()从Excel中读取数据:1.加载工作簿对象       openpyxl.load_workbook(文件名)2.获取活动工作表对象      wb.active3.获取单元格            sheet[单元格名称]4.获取单元格的值         cell.value5.获取一系列格子         sheet['A'],sheet[3],sheet['A:C']6.获取整个表格的所有行      sheet.rows4.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:SSSQL(结构化查询语言)语言包含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 keySQL定义语言:1.创建数据库--->>>   create database 数据库名2.显示所有数据库--->>>  show databases3.使用指定数据库--->>>   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...在给定的值中进行选择的 in3.分组函数 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,类型为objectIDc.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 pymongo2.链接客户端            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爬虫存储数据相关推荐

  1. Python爬虫以及数据可视化分析

    Python爬虫以及数据可视化分析之Bilibili动漫排行榜信息爬取分析 简书地址:https://www.jianshu.com/u/40ac87350697 简单几步,通过Python对B站番剧 ...

  2. python 爬虫与数据可视化

    python 爬虫与数据可视化 1.引言 Web已经成为日新月异迅速发展的网络信息技术中的信息载体,如何有效地提取和利用搜索引擎获得互联网最有用的.可以免费公开访问的数据集,查找用户所需的价值数据或者 ...

  3. Python 爬虫找到数据了 re XPath requests Pool

    Python 爬虫找到数据了 re & XPath & requests & Pool 2018.06.16 23:18 88浏览 字号 是的,爬虫就是为了获取数据.在获取的数 ...

  4. 2021-09-01 学习笔记:Python爬虫、数据可视化

    2021-09-01 学习笔记:Python爬虫.数据可视化 结于2021-09-07: 内容来自 成都工业大学 数字媒体专业实训: 主要内容: PyCharm开发Python脚本的基础配置: Pyt ...

  5. python爬虫数据提取_入门Python爬虫——提取数据篇

    原标题:入门Python爬虫--提取数据篇 作者: 李菲 来源:人工智能学习圈 前言 在提取数据这一环节,爬虫程序会将我们所需要的数据提取出来.在上一篇文章<入门Python爬虫 -- 解析数据 ...

  6. python 爬虫及数据可视化展示

    python 爬虫及数据可视化展示 学了有关python爬虫及数据可视化的知识,想着做一些总结,加强自己的学习成果,也能给各位小伙伴一些小小的启发. 1.做任何事情都要明确自己的目的,想要做什么,打算 ...

  7. Python爬虫+数据分析+数据可视化(分析《雪中悍刀行》弹幕)

    Python爬虫+数据分析+数据可视化(分析<雪中悍刀行>弹幕) 哔哔一下 爬虫部分 代码部分 效果展示 数据可视化 代码展示 效果展示 视频讲解 福利环节 哔哔一下 雪中悍刀行兄弟们都看 ...

  8. 为什么要学习Python爬虫与数据可视化?

    提到Python爬虫与数据可视化,我们都不陌生.因为我们早已身在大数据驱动的时代,数据分析已然成为了一项必备技能.可能有人会问,为什么要学习Python爬虫与数据可视化? 答案是显而易见的,无论是出于 ...

  9. Python 爬虫 xpath 数据解析基本用法

    Python 爬虫 xpath 数据解析基本用法 1. 基本语法 1.1 解析 html 语法 1.2 获取标签 1.3 获取标签中的内容 1.4 获取标签中的属性 1.5 通过内容寻找结点 2. 实 ...

最新文章

  1. RD基本功——Shell、Bash与Linux环境变量配置
  2. Powershell基础(一)
  3. python post请求 415_接收错误415:使用REST API发送GET请求时不支持媒体类型
  4. runtime相关知识
  5. linux设备驱动程序调试方法,Linux设备驱动程序学习(2)-调试技术
  6. 前端学习(2176):vue-router的路由的嵌套使用
  7. linux数据库实例开机启动,linux下数据库实例开机自启动设置
  8. MySQL进阶篇(03):合理的使用索引结构和查询
  9. python爬虫爬取雪球网_Python爬虫爬取天天基金网基金排行
  10. CodeIgniter辅助函数
  11. ES6/ES2015核心内容-转载
  12. 现在很多人都做自媒体,谈谈个人的一些想法
  13. Guitar Pro8(简称GTP8)打谱软件乐器乐谱的编排制作
  14. php解压有密码的zip,linux下解压有密码的rar压缩包的方法
  15. 桌面图标去掉小箭头的方法
  16. web音视频播放器(html5)方案总结
  17. git: Cannot communicate securely with peer: no common encryption algorithm(s)
  18. 2022-爬虫-Selenium-百度安全验证
  19. 避免过多if - else的新姿势:策略模式、工厂 + 策略
  20. 谈谈你对web语义化的理解

热门文章

  1. 提取地图中道路_国产地图神器在线PK谷歌地图,我的分析图有救拉~
  2. unity 读取灰度图生成按高程分层设色地形模型
  3. 2021最新版SpringBoot 速记
  4. nodejs初学者书籍_表示nodejs的后继者
  5. php加密验证_Sourcehunt PHP:有助于加密,验证,付款…
  6. RecyclerView中ViewHolder重用机制理解(解决图片错乱和闪烁问题)
  7. “厉害了我的华为”:研发投入、发明专利数、民营企业排行皆拿下第一
  8. 微信开发者工具项目wap.php,微信web开发者工具
  9. python:免费算卦
  10. 深度 | 700块钱“买到”全国简历,“58同城信息采集器”到底有多逆天?