0
点赞
收藏
分享

微信扫一扫

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)


核心工具包:pymongo

python通过pymongo来连接mongo

pymongo安装

命令提示符中安装:pip install pymongo

查看安装版本:pip show pymongo

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_mongodb

创建MongoClient对象,连接mongo

1) 创建对象
myclient = pymongo.MongoClient(“mongodb://localhost:27017/”)

2)查看现有数据库
list_database_names()

3)读取数据库
db = myclient[数据库名]

示例

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_mongodb_02

查询集合、文档

1)查看现有集合
db.list_collection_names()

2)读取集合
data = db[集合名]

示例

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_爬虫基础_03


3)查询文档

查询单条数据: find_one() → 输出字典

查询所有数据: find({}) → 输出可迭代对象<class ‘pymongo.cursor.Cursor’>示例

查找一条数据

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_爬虫基础_04


查找多条数据

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_爬虫基础_05


也可以把多条数据存成dataframe格式的数据,直接进行数据分析

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_python_06

插入文档

插入单个文档:insert_one()
插入多个文档:insert_many() → 通过字典列表插入

示例

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_python_07

删除集合、文档

1)删除文档
删除一个文档:delete_one()
删除多个文档:delete_many()
如果传入的是一个空的查询对象,则会删除集合中的所有文档

示例

删除单条数据

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_爬虫基础_08


删除多条数据

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_pandas_09


删除所有数据

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_python_10


2)删除集合

drop()示例

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_python_11

pandas如何配合mongo:

1)通过查询的方式,将数据存成dataframe(刚刚已经尝试过了)

示例

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_数据库_12


2)dataframe通过.to_dict()方法输出字典列表,再通过insert_many()导入数据库

DataFrame.to_dict(orient=’’),orient参数如下,这里建议用’records’
        ‘dict’ (default) : dict like {column -> {index -> value}}
        ‘list’ : dict like {column -> [values]}
        ‘series’ : dict like {column -> Series(values)}
        ‘split’ : dict like {‘index’ -> [index], ‘columns’ -> [columns], ‘data’ -> [values]}
        ‘records’ : list like [{column -> value}, … , {column -> value}]
        ‘index’ : dict like {index -> {column -> value}}

示例

【python爬虫专项(17)】如何通过python使用MongoDB(pandas与mongo的交互)_mongodb_13


注意:

数据修改、处理、分析,都在pandas中执行

数据爬取过程中,以字典方式存储每一条数据,可以直接通过insert_one()插入数据库中


举报

相关推荐

0 条评论