기본 콘텐츠로 건너뛰기

라벨이 export인 게시물 표시

mongodb에서 mysql로 간단하게 데이터 임포트 및 익스포트

누군가 요청해서 재미삼아 만들었음.. mongodb를 mysql에서 불러들이는 방법은 몇 가지가 있는데요..  1. mongodb에 mysql 모듈을 설치해서 mysql에서 호출하는 방법..   -> 설정이 많이 필요해서 귀찮음 2. mongodb에 mysql 5.7이후라면 json import를 이용해서 json으로 집어넣는 방식   -> mongodump를 이용해서 json 파일로 넣고 json_import를 이용해서 테이블에 넣으면 되기 때문에 간단한 명령으로 쉽게 정리 됨.    단점은 KVS(Key Value Store)로 저장되기 때문에 쿼리가 살짝 귀찮아짐.. 기존 쿼리를 사용할 수 없다.  SELECT doc->>"$.name" AS name FROM test.my_restaurants WHERE doc->>"$.cuisine" = "Italian"    요런 느낌으로 쿼리를 짜야 함. 3. mongodump로 json으로 떨군 뒤에 jq로 읽어서 쉘로 필드를 뽑은 뒤에 mysql커맨드로 insert처리를 함.       #!/bin/bash      # Useful date text     TodayYYYYMMDDHH24MISS= `date '+%Y%m%d%H%M%S'`     TodayYYYYMMDD= `date '+%Y%m%d'`     TomorrowYYYYMMDD= `date +%Y%m%d --date '1 day'`     YesterdayYYYYMMDD= `date +%Y%m%d --date '1 day ago'`     NextMonthYYYYMMDD= `date +%Y%m%d --date '1 month'`     PrevMonthYYYYMMDD= `date +%Y%m%d --date '1 month ago'`     delete sqldump.sql     j

UiPath CSV에 데이터가 없는 경우 타이틀 유지하여 txt(tsv)저장

UiPath에서 Read CSV를 이용하면 Datatable에 저장이 된다.  이를 tab으로 분리된 text파일로 저장을 하는데는 몇 가지 방법이 있다.  1. write text 액티비티를 사용하는 경우 write text를 하게 되면, 그냥 텍스트로 저장이 되면서 tsv포맷에 맞지 않게 되고,  내용이 없는 경우 필드명도 표시 되지 않는다.  2. write excel을 이용 write excel 액티비티를 이용하여 저장후 이를 excel application scope를 이용해서 연 다음 다른이름으로 저장을 하여 txt파일로 저장. 번거롭지만 가장 편하게 tsv형태로 저장 가능 3. 하드코딩 첫 행에 필드명을 탭으로 나열 for each datarow를 이용하여 행을 읽은 뒤에 for each item으로 각 필드를 변수에 넣으면서 사이에 tab을 추가,  데이터가 없는 경우 필드명을 for each에 넣으면 데이터가 없기 때문에 패스한다.  때문에 첫 행은 하드코딩을 해야 하는 불편함이 있어 확정된 케이스가 아니라면 사용하기 귀찮다. 이걸 할 바엔 차라리 1번의 write text를 사용하는 것을 추천. Automation human works! giip :: Free mix RPA orchestration service! https://giipasp.azurewebsites.net/