Pandas DataFrame에서 HTML 테이블 읽기
-
read_html()
메서드를 사용하여 Pandas DataFrame에서 HTML 테이블 읽기 -
read_html()
메서드를 사용하여 URL에서 HTML 테이블 읽기 -
read_html()
메서드를 사용하여 문자열에서 HTML 테이블 읽기 -
read_html()
메서드를 사용하여 파일에서 HTML 테이블 읽기
이 튜토리얼은 URL, 문자열 또는 파일에서 HTML 테이블을 읽고 Python에서 Pandas 데이터 프레임으로 변환하는 방법을 보여줍니다. read_html()
은 Pandas 데이터 프레임에서 HTML 테이블을 스크랩하는 데 사용되는 Pandas 라이브러리의 빠르고 편리한 방법입니다.
read_html()
메서드를 사용하여 Pandas DataFrame에서 HTML 테이블 읽기
read_html()
메서드는 웹 사이트의 URL, HTML 문자열 또는 HTML 텍스트 파일을 인수로 사용합니다. 웹 사이트, 문자열 또는 파일에 여러 테이블이 포함될 수 있기 때문에 모든 테이블을 스크랩하고 데이터 프레임 목록 형식으로 반환합니다.
테이블이 없으면 코드는 ValueError: No tables found
를 제공합니다.
Python에 lxml
설치
lxml
은 HTML 및 XML 데이터를 데이터 스크래핑, 처리 및 처리하는 데 사용되는 Python의 라이브러리입니다. read_html()
메서드를 사용하기 전에 다음 명령을 사용하여 lxml
을 설치하고 Jupyter Notebook을 사용하는 경우 커널을 다시 시작해야 합니다.
#Python 3.x
pip install lxml
read_html()
메서드를 사용하여 URL에서 HTML 테이블 읽기
웹 사이트의 URL을 read_html()
메서드의 인수로 전달하여 모든 테이블을 읽고 Pandas 데이터 프레임에 저장합니다. 데이터 프레임과 함께 len()
메서드를 사용하여 반환된 테이블 수를 계산할 수 있습니다.
여기서 우리는 두 개의 테이블 목록을 얻습니다. 첫 번째 테이블에 액세스하려면 목록의 인덱스 0
을 통해 액세스합니다.
예제 코드:
# Python 3.x
import pandas as pd
tables = pd.read_html("https://www.w3schools.com/html/html_tables.asp")
print("No of tables returned:", len(tables))
display(tables[0])
출력:
read_html()
메서드를 사용하여 문자열에서 HTML 테이블 읽기
다음 코드에는 table
변수에 저장된 문자열 형식의 HTML 테이블이 있습니다. 테이블을 Pandas 데이터 프레임으로 변환하기 위해 read_html()
메서드를 호출하고 HTML 문자열을 인수로 전달합니다.
HTML 문자열에는 테이블이 하나만 있으므로 데이터 프레임 목록의 길이는 1
입니다. 인덱스를 사용하여 테이블에 액세스하여 테이블을 표시합니다.
예제 코드:
# Python 3.x
import pandas as pd
table = """<table>
<thead>
<tr>
<th>Name</th>
<th>Department</th>
<th>Marks</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<tr>
<td>Robert</td>
<td>CS</td>
<td>60</td>
<td>20</td>
</tr>
<tr>
<td>Sam</td>
<td>SE</td>
<td>81</td>
<td>21</td>
</tr>
<tr>
<td>Alia</td>
<td>SE</td>
<td>79</td>
<td>20</td>
</tr>
</tbody>
</table>"""
df_table = pd.read_html(table)
display(df_table[0])
출력:
read_html()
메서드를 사용하여 파일에서 HTML 테이블 읽기
파일 처리를 통해 Pandas 데이터 프레임의 텍스트 파일에 저장된 HTML 테이블을 읽습니다. 먼저 테이블이 포함된 텍스트 파일을 현재 디렉터리에 넣습니다.
또는 Jupyter 노트북을 사용하는 경우 홈 디렉터리에 텍스트 파일을 업로드해야 합니다. 그런 다음 open()
을 통해 텍스트 파일을 읽고 파일을 읽을 것이기 때문에 파일 이름
과 r
을 모드로 전달합니다.
read()
메서드를 통해 Pandas 데이터 프레임에서 파일 내용을 추출합니다.
예제 코드:
# Python 3.x
import pandas as pd
table_path = "table.txt"
with open(table_path, "r") as f:
df_table = pd.read_html(f.read())
display(df_table[0])
출력:
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn