在本教程中,你将学习如何使用Python将CSV文件导入MongoDB。
在使用Python开发应用程序时,有时我们需要将CSV数据插入MongoDB数据库中。在Python中插入CSV数据到MongoDB是非常容易的。我们只需要读取CSV文件,然后连接到MongoDB来插入数据。
所以在本教程中,我们将使用CSV 内置模块来读取 CSV 文件。我们将使用模块pymongo ,与MongoDB客户端连接并插入数据。
因此,让我们开始编写代码吧。
安装PyMongo模块
由于我们需要与MongoDB客户端连接,所以我们需要使用以下命令安装pymongo 模块。
pip install pymongo
连接到MongoDB
我们将导入模块pymongo ,与MongoDB连接以插入记录。
from pymongo import MongoClient
然后我们将传递MongoDB的连接细节和连接到数据库,并选择插入记录。
mongoClient = MongoClient()
db = mongoClient.october_mug_talk
db.segment.drop()
读取CSV文件
由于我们要向MongoDB插入CSV文件数据,所以首先我们要读取CSV文件并将数据转换成JSON格式。所以我们将在文件的顶部导入csv 模块来读取CSV文件。
import csv
然后我们将使用DictReader() 方法将CSV文件employee 。 DictReader() 函数返回一个csv阅读器对象。
csvfile = open('employee.csv', 'r')
reader = csv.DictReader( csvfile )
我们将遍历csv阅读器对象并创建json数据,以便将多条记录插入MongoDB。
for each in reader:
row={}
for field in header:
row[field]=each[field]
将数据插入MongoDB
最后,我们将使用insert_many() 方法向MongoDB插入json行数据。
db.segment.insert(row)
将CSV数据插入到MongoDB的完整代码
以下是将CSV数据导入MongoDB的完整代码。
import csv
from pymongo import MongoClient
mongoClient = MongoClient()
db = mongoClient.october_mug_talk
db.segment.drop()
header = [ "name", "age", "country"]
csvfile = open('employee.csv', 'r')
reader = csv.DictReader( csvfile )
for each in reader:
row={}
for field in header:
row[field]=each[field]
print (row)
db.segment.insert(row)