【python爬蟲專項(17)】如何通過python使用MongoDB(pandas與mongo的交互)

核心工具包:pymongo

python通過pymongo來連接mongo

pymongo安裝

命令提示符中安裝:pip install pymongo
查看安裝版本:pip show pymongo
在這裏插入圖片描述

創建MongoClient對象,連接mongo

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

2)查看現有數據庫
list_database_names()

3)讀取數據庫
db = myclient[數據庫名]

示例
在這裏插入圖片描述

查詢集合、文檔

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

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

示例
在這裏插入圖片描述
3)查詢文檔
查詢單條數據: find_one() → 輸出字典
查詢所有數據: find({}) → 輸出可迭代對象<class ‘pymongo.cursor.Cursor’>

示例
查找一條數據
在這裏插入圖片描述
查找多條數據
在這裏插入圖片描述
也可以把多條數據存成dataframe格式的數據,直接進行數據分析
在這裏插入圖片描述

插入文檔

插入單個文檔:insert_one()
插入多個文檔:insert_many() → 通過字典列表插入

示例
在這裏插入圖片描述

刪除集合、文檔

1)刪除文檔
刪除一個文檔:delete_one()
刪除多個文檔:delete_many()
如果傳入的是一個空的查詢對象,則會刪除集合中的所有文檔

示例
刪除單條數據
在這裏插入圖片描述
刪除多條數據
在這裏插入圖片描述
刪除所有數據
在這裏插入圖片描述
2)刪除集合
drop()

示例
在這裏插入圖片描述

pandas如何配合mongo:

1)通過查詢的方式,將數據存成dataframe(剛剛已經嘗試過了)

示例
在這裏插入圖片描述
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}}

示例
在這裏插入圖片描述
注意:
數據修改、處理、分析,都在pandas中執行
數據爬取過程中,以字典方式存儲每一條數據,可以直接通過insert_one()插入數據庫中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章