📅  最后修改于: 2023-12-03 15:03:28.283000             🧑  作者: Mango
在本文中,我们将看到如何使用 Python 将 Pandas 数据框写入 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 数据库中了。我们可以使用 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 数据框
df = pd.DataFrame(list(collection.find()))
使用 collection.find()
方法获取集合中的所有文档,并使用 list()
将它们转换为列表。最后,我们使用 pd.DataFrame()
将该列表转换为 Pandas 数据框。
至此,我们已经成功地将 Pandas 数据框写入 MongoDB 数据库中,并且从 MongoDB 中读取了数据到 Pandas 数据框中。