Pandas 데이터 입출력

데이터 가져오기

외부 파일 읽어오기

Pandas는 다양한 형태의 외부 파일을 읽어와 DataFrame으로 변환하는 함수를 제공한다. 어떠한 파일이든 DataFrame으로 변환하면 Pandas의 모든 함수와 기능을 자유롭게 사용할 수 있다.

File Format

Reader

Writer

CSV

read_csv

to_csv

JSON

read_json

to_json

HTML

read_html

to_html

Local clipboard

read_clipboard

to_clipboard

MS Excel

read_excel

to_excel

HDF5 Format

read_hdf

to_hdf

SQL

read_sql

to_sql

CSV

CSV(Comma-Separated Values)는 데이터 값을 쉼표(,)로 구분하고 있다는 의미의 텍스트 파일이다. 쉼표로 열을 구분하고 줄바꿈으로 행을 구분하고 있다.

pandas.read_csv(file)

옵션

설명

path

파일의 위치(파일명 포함), URL

sep(or delimiter)

텍스트 데이터를 필드별로 구분하는 문자

header

열 이름으로 사용될 행의 번호( default = 0) header가 없고 첫 행부터 데이터가 있는 경우 None으로 지정가능

index_col

행 인덱스로 사용할 열의 번호 또는 열 이름

names

열 이름으로 사용할 문자열의 리스트

skiprows

처음 몇 줄을 skip할 것인지 설정 skip하려는 행의 번호를 담은 리스트로 설정 가능([1,3,5])

parse_dates

날짜 텍스트를 datetime64로 변환할 것인지 설정(default=False)

skip_footer

마지막 몇 줄을 skip할 것인지 설정

encoding

텍스트 인코딩 종류를 지정

Excel

read_excel()은 앞의 read_csv() 와 거의 유사하다. 대부분의 옵션을 그대로 사용할 수 있다.

  • ImportError

excel파일을 읽어오려고 할때 다음과 같은 오류가 발생할 수 있다. 이 경우에는 해당 라이브러리를 설치해주면된다.

JSON

JSON 파일은 데이터 공유를 목적으로 개발된 특수한 파일 형식이다.

Web에서 가져오기

HTML 웹 페이지에서 속성 가져오기

read_html() 메소드는 HTML에 있는 <table> 태그에서 표 형식의 데이터를 모두 찾아서 DataFrame으로 변환한다.

  • Import Error

다음과 같이 오류가 발생하는 경우에는 lxml 라이브러리를 설치해주면된다.

Web Scraping

BeautifulSoup 등 웹 스크래핑 도구로 수집한 데이터를 Pandas DataFrame으로 정리할 수 있다. 이때는 Scraping한 내용을 python list, dictionary로 변환한 뒤, DataFrame으로 변환한다.

  • Install BeautifulSoup

requests 를 이용해서 html을 가져올 것이다. 이때, SSLError가 발생할 수 있다.

  • SSLError

신뢰할 수 없는 인증서로 발생하는 오류인데, verify=False 옵션으로 해결할 수 있다.

API 활용해 데이터 가져오기

로또 당첨 번호 API를 이용해 drwNo(회차)에 대한 결과 값을 받을 것이다.

데이터 저장하기

CSV 파일로 저장

JSON 파일로 저장

위의 DataFrame 객체인 df로 json형태로 데이터를 내보낼 것이다.

Excel 파일로 저장

to_excel 메소드 이용시 아래와 같이 moduleNotFoundError가 발생할 수 있다.

  • ModuleNotFoundError

openpyx를 설치하면 제대로 되는 것을 확인할 수 있다.

image-20200504104943217

여러개의 DataFrame을 하나의 Excel 파일로 저장

image-20200504105408175

참고

Last updated

Was this helpful?