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 활용해 데이터 가져오기

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

데이터 저장하기

CSV 파일로 저장

JSON 파일로 저장

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

Excel 파일로 저장

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

  • ModuleNotFoundError

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

image-20200504104943217

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

image-20200504105408175

참고

Last updated

Was this helpful?