텍스트 파일로 db 삽입할 때 정보
텍스트 파일로 db 삽입할 때관련링크
첨부파일
본문
엑셀로부터 복사를 했더니 필드사이가 탭으로 연결되는 텍스트 파일이 만들어졌습니다.
그리고 그 것을 inload 명령어를 이용하여 테이블에 잘 삽입하였습니다.
그 즐거움이란...
앞으로 어지간한 것은 텍스트 파일로 만들어서 필요한 모든 것을 db 로 만들어야지.
하지만 기대도 잠시..
엑셀 파일의 셀 내에서 alt+enter 로 만들어지는 셀내 줄바꾸기 가 있잖아요.
그 것을 복사해오면 시커먼 사각형안에 동그라미가 있는 텍스트 파일이 만들어지더라구요.
예를 들어 아래 첨부 처럼요. (유첨 파일의 글자중 데이터4 라는 글자 다음에 있는 시커먼 표시)
그래서 그런지 그 다음부터는 입력이 않되는 겁니다.
phpschool.com 을 뒤져보니 힌트가 될 것 같아 시도했더니 이번에도 않되더라구요.
요점은 엑셀을 복사해서 만들어진 텍스트 파일을 이용하여 테이블에 데이터를 삽입하려고 합니다.
그럴경우 셀내 줄바꾸기 char(10) 이라고 하더군요. 이 것이 있을 경우는 어떻게 해야할까요.
당연히 셀간의 표시는 탭에 의해서 표시되더라구요.
부탁드립니다.
※ 안타깝게도 저는 csv 파일은 만들수가 없습니다.
그리고 그누보드를 사용합니다.
그리고 그 것을 inload 명령어를 이용하여 테이블에 잘 삽입하였습니다.
그 즐거움이란...
앞으로 어지간한 것은 텍스트 파일로 만들어서 필요한 모든 것을 db 로 만들어야지.
하지만 기대도 잠시..
엑셀 파일의 셀 내에서 alt+enter 로 만들어지는 셀내 줄바꾸기 가 있잖아요.
그 것을 복사해오면 시커먼 사각형안에 동그라미가 있는 텍스트 파일이 만들어지더라구요.
예를 들어 아래 첨부 처럼요. (유첨 파일의 글자중 데이터4 라는 글자 다음에 있는 시커먼 표시)
그래서 그런지 그 다음부터는 입력이 않되는 겁니다.
phpschool.com 을 뒤져보니 힌트가 될 것 같아 시도했더니 이번에도 않되더라구요.
요점은 엑셀을 복사해서 만들어진 텍스트 파일을 이용하여 테이블에 데이터를 삽입하려고 합니다.
그럴경우 셀내 줄바꾸기 char(10) 이라고 하더군요. 이 것이 있을 경우는 어떻게 해야할까요.
당연히 셀간의 표시는 탭에 의해서 표시되더라구요.
부탁드립니다.
※ 안타깝게도 저는 csv 파일은 만들수가 없습니다.
그리고 그누보드를 사용합니다.
댓글 전체
제가 생각하기엔 엑셀파일을 복사하시는 것은 여러가지로 번거로운데요.
csv화일은 엑셀화일을 저장하실 때 저장방식을 csv화일로 하시면 됩니다.
번거롭게 다시 txt화일로 변경하실 필요도 그리고 alt+enter를 걱정하실 필요도 없습니다.
그리고 그 화일을 db에 바로 불러들일 수 있습니다.
txt화일도 db에 불러들이기 위함인데 괜히 한 단계 거치는 것은 효율적이지 않지요? ^^
csv화일은 엑셀화일을 저장하실 때 저장방식을 csv화일로 하시면 됩니다.
번거롭게 다시 txt화일로 변경하실 필요도 그리고 alt+enter를 걱정하실 필요도 없습니다.
그리고 그 화일을 db에 바로 불러들일 수 있습니다.
txt화일도 db에 불러들이기 위함인데 괜히 한 단계 거치는 것은 효율적이지 않지요? ^^
내용중에 쉼표(,) 나 인용부호가 있는 것이 있으면 csv 파일로 저장하는 것이 불가능한 것 아닌가요?
엑셀에서 csv로 저장할때 콤마가 있는 필드는 " " 처리를 자동으로 해줍니다.
아니면 탭으로 분리하시고 아래와 같이 하시면 될 것 같은데...
insert into table_name load data infile "test.xls" fields terminated by '\t' lines terminated by '\n';
아니면 탭으로 분리하시고 아래와 같이 하시면 될 것 같은데...
insert into table_name load data infile "test.xls" fields terminated by '\t' lines terminated by '\n';
엑스엠엘님도 감사합니다.
해결은 이미 했습니다.
해결은 이미 했습니다.