정규식(regular expression)은 알 수록 도움이 되는 것 같다. 잘 정리된 사이트가 있어 링크 걸어둠. 내가 특히 필요한 부분은
[a-z] | 알파벳 소문자 중 1개 |
[A-Z] | 알파벳 대문자 중 1개 |
[0-9] | 모든 숫자 중 1개 |
[a-zA-Z] | 모든 알파벳 중 1개 |
정규식(regular expression)은 알 수록 도움이 되는 것 같다. 잘 정리된 사이트가 있어 링크 걸어둠. 내가 특히 필요한 부분은
[a-z] | 알파벳 소문자 중 1개 |
[A-Z] | 알파벳 대문자 중 1개 |
[0-9] | 모든 숫자 중 1개 |
[a-zA-Z] | 모든 알파벳 중 1개 |
pgAdmin이 편한 툴이기는 하지만 파일을 import 할 때에 일일이 해주어야 하는 심각한 불편함이 있었다. 뭔가 방법이 있을 것 같아서 psql을 이용해 보기로 하였다. 문법을 전혀 모르는 관계로 pgAdmin에서 자세히 보기로 나오는 쿼리를 기반으로 하여 구글링을 한 끝에 쉽게 하는 방법을 확보할 수 있었다.
copy sample.t40 ("KEY_SEQ", "SEQ_NO", "RECU_FR_DT", "DSBJT_CD", "SICK_SYM") FROM 'D:/NHIS/postprocessing/40/nhid_gy40_t1_2013.csv' CSV HEADER;
QUOTE나 ESCAPE 설정을 변경해야 한다면 다음과 같이 입력해준다.[‘]과 [”]의 구분에 유의.
copy cdm.condition (condition_occurrence_id, person_id, condition_concept_id, condition_start_date, condition_end_date, condition_type_concept_id, stop_reason, provider_id, visit_occurrence_id, condition_source_value, condition_source_concept_id, dx_codetype, pdx) FROM '/home/byun1114/Downloads/condition-2012-2019.csv' DELIMITER ';' CSV HEADER QUOTE '"' ESCAPE '"';
csv 파일의 column 순서와 위에 언급된 column의 순서를 일치시키는 것이 필요하다. 알아서 바뀐 위치에 넣어주겠지하고 방심하고 있다가 오류가 생기면 골치 아프다.
여러 개의 파일에 같은 작업을 반복하고 싶으면 여러개의 쿼리를 한 번에 Ctrv+V로 입력하면 순차적으로 실행된다.
도스창에서도 하는 방법이 있을 것 같은데 계속 오류만 나서 그냥 이 방법으로 해결하기로 했다. 우선 몇 개 테스트해보니 잘 되는 것을 확인해서 다시 파일 작업 후 importing 작업을 할 예정.
DB에 자료를 넣고 있는 중인데 TSV형식보다는 CSV형식이 클릭 한 번을 더 할 수 있고, header 정보도 뺄 수 있어서 훨씬 좋은 듯 하다. 일단 txt 파일을 csv로 변환하는 작업과 누락된 값을 결측치로 채워 넣는 작업을 하는 것, 그리고 table의 column을 동일한지 확인하고, column 순서를 맞추는 작업, 그리고 importing이 편하도록 적당히 묶어서 csv 파일을 만들도록 작업을 시켰다. 연휴 끝나고 확인해 보면 될 것 같다.
오늘은 연휴라서 그런지 정말 사람들이 없었다. 출근길 때는 잘 몰랐는데 퇴근길을 정말로 차가 없어서 빨리 올 수 있었다.
딸은 결국 엄청 늦게 일어나서 유치원에 안갔다.
이러면 꽤 인식이 됨.
read.csv("", fileEncoding = "CP949",encoding = "UTF-8")