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은 이미 준비되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 데이터베이스 입문
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# import pandas
import pandas as pd
# read census.csv into a DataFrame : census_df
census_df = pd.___(___, ___=___)
# rename the columns of the census DataFrame
census_df.columns = [___, ___, ___, 'pop2000', 'pop2008']