본문 바로가기
Python/Pandas

pandas.read_html로 HTML 테이블 읽기

by PySun 2025. 5. 20.
반응형

Pandas의 read_html 함수: 웹에서 HTML 테이블 읽어오기

파이썬의 Pandas 라이브러리는 데이터 분석에 매우 유용한 도구입니다. 그중 read_html 함수는 웹 페이지에서 HTML 테이블을 간편하게 가져와 데이터프레임으로 변환하는 놀라운 기능을 제공합니다. 이 포스팅에서는 pandas.read_html 함수를 사용하여 HTML 테이블을 읽어오는 방법과 그 예제를 소개합니다.

pandas.read_html 함수 소개

pandas.read_html 함수는 지정된 URL 또는 HTML 문자열 내의 모든 테이블을 자동으로 감지하고 데이터프레임으로 변환합니다. 이 기능은 웹 스크래핑과 데이터 수집을 쉽게 만들어주어, 시간을 절약하고 효율적인 데이터 처리를 가능하게 합니다.

함수 시그니처

pandas.read_html(io, match=None, flavor=None, header=0, index_col=0, skiprows=None, attrs=None, parse_dates=False, na_values=None)

매개변수:

  • io: 읽어올 HTML 문서의 URL 또는 문자열입니다.
  • match: 선택적으로 특정 패턴과 일치하는 테이블을 필터링할 수 있습니다.
  • header: 테이블의 헤더로 사용할 행의 인덱스입니다. 기본값은 0입니다.
  • skiprows: 건너뛸 행의 수입니다.
  • attrs: 특정 속성이 있는 테이블을 필터링할 수 있습니다.

반환 값:

  • HTML 테이블이 데이터프레임으로 변환되어 반환됩니다. 여러 테이블이 있을 경우 리스트로 반환됩니다.

사용 예제

기본 예제

다음은 pandas.read_html 함수를 사용하여 웹 페이지에서 HTML 테이블을 읽어오는 기본 예제입니다.

import pandas as pd

# URL에서 HTML 테이블 읽기
url = 'https://www.worldometers.info/world-population/population-by-country/'
tables = pd.read_html(url)

# 첫 번째 테이블 출력
population_data = tables[0]
print(population_data.head())

특정 테이블 찾기

특정 조건에 맞는 테이블을 찾는 예제를 살펴보겠습니다.

import pandas as pd

# URL에서 HTML 테이블 읽기
url = 'https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_population'
tables = pd.read_html(url)

# 처음 발견된 테이블에서 10개 행 출력
population_data = tables[0]
print(population_data.head(10))

결론

pandas.read_html 함수는 웹에서 데이터를 수집하고 분석하는 데 필수적인 도구입니다. 이를 통해 웹 페이지에서 복잡한 테이블을 손쉽게 추출하여 원하는 정보를 얻을 수 있습니다. 데이터 분석의 효율성을 높이고 다양한 데이터 소스를 활용해 보세요!

  • 지금 바로 pandas.read_html로 웹에서 데이터를 추출해 보세요!
  • 데이터를 분석하고 시각화하는 재미를 느껴보세요!
반응형