본문으로 바로가기

가끔 엑셀에 있는 데이터를 MySQL DB에 넣어야 할 때가 있는데요. 맥북이나 리눅스에서는 수월하게 잘 되던 작업이 윈도우 MS-Excel 2007 을 통해서는 잘 안되는 경우가 있더군요. 특히 "Invalid column count in CSV input on line" 과 같은 에러가 나는 경우가 있는데요. 아래 방법으로 해결하였습니다.


▼ 우선 MS-Excel 2007 에서 작성된 파일을 csv 파일로 저장하여야 하는데요. 엑셀파일에서 csv 로 저장할 때는 한 탭에 대해서만 저장을 하여야 합니다. 따라서 엑셀 탭별로 우클릭 후 이동/복사 > 복사본 만들기 체크 > 새 통합문서로 저장한 후 csv (쉼표로 분리)로 저장합니다. 그리고 DB 테이블의 컬럼 개수에 일치하도록 조정을 해주고 다시 저장합니다.



▼ 저장을 할 때 간혹 아래와 같이 "CSV (쉼표로 분리) 형식이 지원하지 않는 기능이 있습니다." 라고 나올 수가 있는데요. 그냥 무시하고 예스를 눌러줍니다.



▼ 저장을 할 때 간혹 아래와 같이 "CSV (쉼표로 분리) 형식이 지원하지 않는 기능이 있습니다." 라고 나올 수가 있는데요. 그냥 무시하고 예스를 눌러줍니다. 그리고 중요한 과정이 하나 있는데요. 저장한 .csv 파일을 메모장으로 열고 다른 이름으로 저장을 한 후 아래와 같이 UTF-8 을 선택하고 저장하여 줍니다.



▼ 위 작업을 하지 않으면 "Invalid column count in CSV input on line" 에러가 나는 경우가 있기 때문인데요. 에러가 안 나면 관계없지만 혹시 위 에러가 난다면 메모장을 통한 UTP-8 저장을 하시기 바랍니다. 그리고 phpMyAdmin 에서 아래와 같이 세팅을 하고 실행을 합니다. (여기서는 첫 라인은 제목라인으로 처리하였습니다.)



▼ 그러면 큰 문제가 없다면 다음과 같이 insert 쿼리가 성공하겠네요. 혹시 auto increase 되는 id를 쓰고 계시다면 csv 파일에서 해당 컬럼을 0 으로 입력하면 기존 DB에 이어서 번호가 부여 됩니다.


이상 phpMyAdmin 에서 csv 파일 임포트 하는 방법과 에러에 대해서 간단하게 알아봤는데요. 아무쪼록 phpMyAdmin 에 CSV 파일 임포트가 잘 안 되시는 분들에게 조금이나마 도움이 되는 글이 되었으면 하네요.


사진


** 336x280 **




댓글을 달아 주세요