본문 바로가기
IT/MongoDB

[MongoDB] 파이썬으로 MongoDB 데이터 다운받기

by 어느 개발자의 블로그 2020. 8. 12.
반응형

MongoDB의 데이터를 csv파일로 다운받기 위해서 만든 파이썬 코드 입니다. 

MongoDB Connection Config / db 객체명 / 다운 받을 파일 경로, 파일명 / 조건절, 컬럼명 등을 필요에 따라서 수정하시면 됩니다. 


import pymongo
import os
import re
import time
import csv

# MongoDB Connection Config 
host = ''
port = 
username = ''
password = ''
database = ''

print('접속 경로 :: ', 'mongodb://%s:%s@%s:%d/%s' % (username, password, host, port, database))
conn = pymongo.MongoClient('mongodb://%s:%s@%s:%d/%s' % (username, password, host, port, database))
print('MongoClient 접속 완료')

# db 객체 할당받기
db = conn.get_database(database)
print('db 객체 할당 완료')

# collection 객체 할당받기
coll = ''
collection = db.get_collection(coll)

path = 'D:/MongoDB'
file_name = 'file_name.csv'

i = 0
posts = list(collection.find({
                    '':'' # 조건문
                }))

with open(os.path.join(path, file_name), 'w', newline='', encoding='utf-8-sig') as output:
    csvout = csv.DictWriter(output,['CSV헤더명1', 'CSV헤더명2'])
    csvout.writeheader()
    for post in posts:
        wr = csv.writer(output)
        wr.writerow([ post['컬럼명1']
                    , post['컬럼명2']
                    ])

        # 진행률을 출력하기 위한 부분
        i += 1
        if i % 100:
            print("{} finished".format(i))

print( '[{}] End!!!'.format(coll) )
반응형

댓글