• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

파일로 데이터를 한번에 입력하기(.csv) 문의

21.07.02 17:55 작성 조회수 230

0

안녕하세요.

궁금한점이 있어 문의 드립니다.

Workbench로 각 column 데이터타입 설정하고 테이블 생성하고(현재비어있는상태, 아무것도 입력이 되지않은상태)

--------------------------------------------------

★1. 메모장에서 하기와 같이 만들어서 Workbench로 기존에 있는 테이블로 삽입하면 안들어가집니다.

(id, 기본키 있는상태)

id,name, gender, birth, english, math, korean

1,'minsun', 'woman', '1982-10-16', 30, 88, 60

2,'david', 'man', '1982-12-10', 78, 77, 30

3,'jade', 'man', '1979-11-1', 45, 66, 20

4,'jane', 'man', '1990-11-12', 65, 32, 90

5,'wage', 'woman', '1982-1-13', 76, 30, 80

6,'tina', 'woman', '1982-12-3', 87, 62, 71

--------------------------------------------------

★2. (id, 기본키없는상태) 에서는 기존 테이블에 삽입이되네요.

name, gender, birth, english, math, korean

'minsun', 'woman', '1982-10-16', 30, 88, 60

'david', 'man', '1982-12-10', 78, 77, 30

'jade', 'man', '1979-11-1', 45, 66, 20

'jane', 'man', '1990-11-12', 65, 32, 90

'wage', 'woman', '1982-1-13', 76, 30, 80

'tina', 'woman', '1982-12-3', 87, 62, 71

--------------------------------------------------

★3. pandas 라이브러리를 통해서 .csv를 파일로 

내보내면 아래와 같이 text 인 데이터에도 ' ' 표시가없이

나오게 되고 text에 ' ' 없는 상태에서

Workbench로 다시 삽입하면 이 경우도 되네요.

이 경우도(id 기본키를 csv에서 삭제후 삽입해야 들어가네요)

name,gender,birth,english,math,korean

minsun,woman,1982-10-16,30,88,60

david,man,1982-12-10,78,77,30

jade,man,1979-11-01,45,66,20

jane,man,1990-11-12,65,32,90

wage,woman,1982-01-13,76,30,80

tina,woman,1982-12-03,87,62,71

★★★★★★문의

기본키를 제외하고 기존테이블에 삽입해야 되는 이유가 있나요?

(id(기본키)에 auto_increment 라고 테이블생성시 해줬기때문에, 하면안되는건가요??)

항상 설명을 잘해주셔서 잘 듣고 있습니다^^ 감사합니다!

답변 1

답변을 작성해보세요.

0

안녕하세요. 어휴 굉장히 상세하게 작성해주셔서, 감사합니다.

pandas 는 처음하는 파이썬 데이터 분석 강의에서 csv 를 다루는 부분을 상세히 앞부분에 설명을 하긴 했고요.

데이터를 넣을 때는 역시 테이블의 스키마를 어떻게 했느냐에 영향을 미치는 것이라서요.

말씀하신대로 id 를 auto_increment 로 설정해 줬기 때문에, 그럴 수도 잇꼬요. 또는 해당 테이블에 이미 1 ~ 6 사이의 id 값이 이미 있어서 에러가 날 수도 있습니다. 이 부분은 에러 날때의 그 에러메세지를 읽어보려 해보신다면, 아마 둘중의 하나임을 이해하실 수 있지 않을까 합니다. (워크벤치로 UI 로 넣다보면, 에러 메세지가 안보일 수는 있습니다.) 

또, auto_increment 로 설정한 기본 키는 보통은 csv 파일등에서 안넣는 것이 일반적이기도 하니까요. 이 부분도 알고 계시면 좋을 것 같습니다.

감사합니다.~~~

ivanselah님의 프로필

ivanselah

질문자

2021.07.05

아네! 답변 감사합니다^^