如何用python将csv文件导入mongoDB中?

问题描述 投票:0回答:1

我是Python的新手,我想把csv文件中的特定列插入到mongodb的集合中,我知道如何用shell做,但我想用python做,因为我正在学习Python。

这是我目前所掌握的情况。

import csv
import json
import pandas as pd
import sys, getopt, pprint
from pymongo import MongoClient
#CSV to JSON Conversion
with open('netflix_titles.csv','rt', encoding="utf8") as file:
data = file.read()
mongo_client=MongoClient() 
db=mongo_client.Netflix
db.segment.drop()
header= [ "show_id", "director"]

for each in data:
    row={}
    for field in header:
        row[field]=each[field]  

    db.segment.insert(row)

在这一行中,我只看到一个缩进的错误。

data = file.read()
python mongodb pymongo
1个回答
1
投票

如果你要使用 csv 模块,那么一定要使用该模块的阅读器功能。 它会处理引号、空格等等等等。 另外,不知道你的

for each in data:

实际上是在做你认为的CSV分解。 这样更整洁(假设你想从一个静态的头名数组中驱动动作)。

with open('data.csv', 'r') as csvfile:
    header = [ "show_id", "director"]
    reader = csv.reader(csvfile)

    for row in reader:
        doc={}
        for n in range(0,len(header)):
            doc[header[n]] = row[n]

        db.foo.insert(doc)

1
投票

你必须把tab放在 date = file.read() 因为 with 增加压痕程度。

© www.soinside.com 2019 - 2024. All rights reserved.