본문 바로가기
2021-1/RDA

MongoDB | 엑셀파일 불러오기

by 이망고_ 2021. 10. 7.

프로젝트를 진행하면서 내가 처음으로 맡게 된 임무는

1. 데이터명을 다른 팀에서 지정해준 영문명으로 바꾸기

2. 파일명을 바꿔주기

3. str 으로 된 밸류값을 인덱스 0번과 1번은 int로, 나머지는 모두 float(double) 로 바꿔주기

환경 세팅

환경 세팅하는 것부터 고비였다.. 하나도 몰라

vs code 로 진행 -> xshell 에서 불러온다

코드를 직접 짜야 하지만 받았다. (코드를 직접 짜봐야 실력이 는다고 했다.)

기한은 다음주 12일까지 (현 시점 6일) 였다.

엑셀파일 읽기

NoSQL Manager for MongoDB Freeware

* 몽고DB 도 몽고DB Compass 깔아도 되지만, 팀원들이 이 프로그램을 사용해서 저도 이걸로 다운로드 받았습니다.

프리웨어 버전과 프로페셔널 버전(유료) 중 전자로 다운로드.

  • xlrd 로 안 읽어지면 xls 로 변경해준다
  • for rownumber(1, sh.nraws) : 1부터 읽겠다.
  • row_data = {} : 딕셔너리 형태로 저장해주었다. 딕셔너리 형태는 어떤 형태든 받을 수 있다고 한다.
  • 엑셀파일에서 빈칸이 있으면 오류처리가 됨 ->  Null 값 지정해주면 됨( 뭐 트루, 폴스 어쩌구로..)
  • 영문명 설정할 때에는 팀에서 준 명으로 변경 : 1. 카멜(낙타, 등처럼 사이사이 대문자)형 2. 언더바_ 형식이 있다 

NoSQL MongoDB Freeware

사전작업

  • cmd > pip install xlrd 입력
  • cmd > pip install pymongo 
  • (Xshell) 파일 위치 변경 : 역슬래쉬를 모두 -> / 로 변경해준다! 
  • 마지막 / 의미 : 이 파일 속에 있는 엑셀파일을 불러준다 ( 그 자체를 불러줄 때에는 마지막 / 빼기~)
  • (SublimeText) 파일 저장 : ctrl + s -> ctrl + B (실행)
  • (NoSQL MongoDB Freeware) RDA (폴더) - refresh 클릭 : 해줘야 엑셀파일 생성이 완료된다~
  • (단, 만약 수정해서 다시 반영한다고 한다면, RDA 에서 기존의 파일 Delete 해주고, 다시 코드 실행해주고, refresh 해주라)
    * 추가로, 캡처 단축키는 : Shift + 윈도우 + s 이다
  • (NoSQL MongoDB Freewar) Data 가 커서 잘 안 돌아가면 Limit 를 100-> 10,000 으로 키워주기

팀 프로젝트

  • 파일 넘겨주는 팀에서 지정해준 영문명으로 저장할 것 (임의로 바꾸지 않는다.)
  • 코드 다 짜고 print("완료") 습관을 들여준다.
  • (vs code) ctrl + F5 (디버깅 단축키) : 그리고 ctrl + s (저장) 을 꼭 해준다! 
  • (되다가 안되는 원인이 저거였음..)
  • 2칸씩 밀려 있었다 -> 삭제된 인덱스 네임명에서 원래대로 추가시켜주니 안 밀리고 제대로 출력됨~

    5개 파일 중 2개는 누락되어 열리는 파일 3개만 진행하여 몽고DB로 불러주었다~~

다음 임무

  • str 을 Timestamp 로 변환해주기