반응형
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) )
반응형
댓글