📜  pandas df 到 mongodb - Python (1)

📅  最后修改于: 2023-12-03 15:03:28.283000             🧑  作者: Mango

使用 Python 将 Pandas 数据框写入 MongoDB

在本文中,我们将看到如何使用 Python 将 Pandas 数据框写入 MongoDB 数据库中。

使用 PyMongo 连接到 MongoDB

在开始之前,请确保已经安装了 PyMongo 库。如果没有,请使用以下命令进行安装:

pip install pymongo

接下来我们需要先连接到我们的 MongoDB 服务器。在连接 PyMongo 时,我们需要指定 MongoDB 的地址和端口。

import pymongo

#连接 MongoDB 服务器
client = pymongo.MongoClient("mongodb://localhost:27017/")
创建或获取一个数据库

在 MongoDB 中,数据存储在数据库中。如果你尚未创建任何数据库,则需要使用以下命令创建一个数据库:

#获取数据库
db = client["mydatabase"]

如果该数据库已经存在,则可以使用以下命令获取该数据库:

#获取数据库
db = client.mydatabase
创建或获取一个集合

在 MongoDB 中,数据存储在集合中。如果你尚未创建任何集合,则需要使用以下命令创建一个集合:

#获取或创建一个集合
collection = db["mycollection"]

如果该集合已经存在,则可以使用以下命令获取该集合:

#获取一个集合
collection = db.mycollection
将 Pandas 数据框写入 MongoDB

现在我们已经准备好将 Pandas 数据框写入 MongoDB 数据库中了。我们可以使用 insert_many() 方法,该方法将所有数据插入指定的集合中。

import pandas as pd

#创建 Pandas 数据框
df = pd.DataFrame({"name": ["Alice", "Bob", "Charlie"], "age": [25, 32, 18]})

#将 Pandas 数据框写入 MongoDB
collection.insert_many(df.to_dict("records"))

以上代码将 Pandas 数据框的每一行都转换为一个字典,并将所有字典插入到 MongoDB 中的 mycollection 集合中。

读取 MongoDB 中的数据到 Pandas 数据框

我们已经向 MongoDB 中写入了数据,现在我们可以将这些数据读取到 Pandas 数据框中。

#从 MongoDB 中读取数据到 Pandas 数据框
df = pd.DataFrame(list(collection.find()))

使用 collection.find() 方法获取集合中的所有文档,并使用 list() 将它们转换为列表。最后,我们使用 pd.DataFrame() 将该列表转换为 Pandas 数据框。

至此,我们已经成功地将 Pandas 数据框写入 MongoDB 数据库中,并且从 MongoDB 中读取了数据到 Pandas 数据框中。