Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 프로그래머스 파이썬
- 맥북
- PYTHON
- 더현대서울 맛집
- 자연어처리
- leetcode
- 데이콘
- 편스토랑 우승상품
- dacon
- 코로나19
- github
- 파이썬
- AI 경진대회
- gs25
- Real or Not? NLP with Disaster Tweets
- Kaggle
- programmers
- hackerrank
- Docker
- 편스토랑
- Git
- ubuntu
- 백준
- 프로그래머스
- Baekjoon
- 캐치카페
- SW Expert Academy
- 우분투
- 금융문자분석경진대회
- ChatGPT
Archives
- Today
- Total
솜씨좋은장씨
[Python] flask와 mongoDB를 활용하여 REST API 만들기 1 - CSV 데이터를 불러와 mongoDB에 데이터 추가하기 본문
Programming/Python
[Python] flask와 mongoDB를 활용하여 REST API 만들기 1 - CSV 데이터를 불러와 mongoDB에 데이터 추가하기
솜씨좋은장씨 2020. 3. 29. 21:54728x90
반응형
1. 필요한 라이브러리 설치하기
pip install pymongo
pip install pandas
pip install tqdm
먼저 필요한 라이브러리를 설치합니다.
2. csv에서 데이터 불러와서 json 형태로 만들기
CSV는 지난 캐치 프로그램 과제를 할때 만들었던 파일을 그대로 활용했습니다.
import pandas as pd
from tqdm import tqdm
movie_data = pd.read_csv("movie_data_from_naver_series.csv")
def convertStringToList(string):
data = string.split(',')
my_list = []
for dt in data:
my_list.append(dt.replace('"', '').replace("'", '').replace("[", "").replace("]", '').replace(" ", ''))
return my_list
def makeJsonList(movie_data):
json_list = []
for i in tqdm(range(len(movie_data['title']))):
json_template = { "title": list(movie_data['title'])[i],
"posterUrl": list(movie_data['posterUrl'])[i],
"screeningStatus": "open",
"advanceRate": list(movie_data['advanceRate'])[i],
"advanceRateRank": list(movie_data['advanceRateRank'])[i],
"visitorRating": list(movie_data['visitorRating'])[i],
"expertRating": list(movie_data['expertRatings'])[i],
"plot": list(movie_data['plot'])[i],
"genres": convertStringToList(list(movie_data['genres'])[i]),
"runtime": list(movie_data['runtime'])[i],
"cast": convertStringToList(list(movie_data['cast'])[i]),
"released": list(movie_data['release'])[i],
"director": list(movie_data['director'])[i]
}
json_list.append(json_template)
return json_list
data_list = makeJsonList(movie_data)
3. 만들어진 list와 pymongo를 활용하여 mongoDB에 데이터 추가하기
mongod --dbpath=data/db
mongoDB 서버를 실행합니다.
from pymongo import MongoClient
my_client = MongoClient("mongodb://localhost:27017/")
mydb = my_client['movie_flask_api_database']
mycol = mydb['movie_data']
data_list = makeJsonList(movie_data)
x = mycol.insert_many((data_list))
print(x.inserted_ids)
4. 잘 추가되었는지 확인해보기
4-1. 터미널에서
use movie_flask_api_db
db.movie_data.find().pretty()
4-2. Python 코드를 활용해서
my_doc = mycol.find().sort("advanceRate", -1)
for x in my_doc:
print(x)
예매율을 기준으로 내림차순으로 정렬하여 출력해보았습니다.
이제 이 DB를 활용하여
지난 캐치카페에서 현직자와 함께하는 프로그래밍 수업을 들으면서
강사님이 만들었던 영화정보 API를 직접 만들어서 그 API를 이 API로 대체하여 구현해보고자 합니다.
읽어주셔서 감사합니다!
'Programming > Python' 카테고리의 다른 글
[Python] List Comprehension과 리스트를 다루는 여러가지 방법들! (0) | 2020.04.02 |
---|---|
[Python] 2to3 를 통해 Python 2로 작성된 코드를 Python3로 쉽게 바꾸어보기! (2) | 2020.04.02 |
[Python] 두 개의 문자열 서로 바꾸기 (0) | 2020.03.28 |
[Python] 마스크 재고 API와 텔레그램으로 나만의 마스크 재고 알리미를 만들어보자! (1) | 2020.03.15 |
[Python] 공공api를 활용하여 내 주변 공적 마스크 판매처와 마스크 재고를 지도에 시각화해보자! (7) | 2020.03.14 |
Comments