1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 배우는 데이터베이스 입문

Connected

연습 문제

CSV를 테이블로 불러오기

지금까지 테이블에 데이터를 삽입하는 작업을 아주 잘해 주셨습니다! 이제 CSV 파일의 내용을 테이블에 로드하는 방법을 배워 보겠습니다.

한 가지 방법은 CSV 파일을 한 줄씩 읽어 각 줄에서 딕셔너리를 만들고, 이전 연습에서처럼 insert()를 사용하는 것입니다.

하지만 pandas를 사용하면 더 빠르게 할 수 있어요. read_csv() 함수를 사용해 CSV 파일을 DataFrame으로 읽을 수 있습니다(이 함수가 익숙하시겠지만, 기억을 되살리려면 콘솔에서 help(pd.read_csv)를 실행해 보세요!). 그런 다음 DataFrame에서 .to_sql()(문서) 메서드를 호출해 데이터베이스의 SQL 테이블로 로드할 수 있습니다. 이때 DataFrame의 열 이름은 SQL 테이블의 열 이름과 일치해야 합니다.

.to_sql()에는 많은 매개변수가 있지만, 이 연습에서는 다음만 사용합니다:

  • name은 SQL 테이블 이름(문자열)입니다.
  • con은 데이터를 업로드할 데이터베이스 연결입니다.
  • if_exists는 데이터베이스에 해당 테이블이 이미 있을 때의 동작을 지정합니다. 가능한 값은 "fail", "replace", "append"입니다.
  • index(True 또는 False)는 DataFrame의 인덱스를 열로 쓸지 여부를 지정합니다.

이 연습에서는 census.csv 파일에 들어 있는 데이터를 기존 테이블 "census"로 업로드합니다. 데이터베이스에 대한 connection은 이미 준비되어 있습니다.

지침 1/2

undefined XP
    1
    2
  • pd.read_csv()를 사용해 "census.csv" 파일을 DataFrame으로 로드하세요. 파일에 헤더 행이 없으므로 header 매개변수를 None으로 설정하세요.
  • 데이터베이스의 "census" 테이블 열과 일치하도록 census_df의 열 이름을 "state", "sex", age, "pop2000", "pop2008"로 바꾸세요.