잡동사니

반응형

질문


pd.read_html을 사용하여 테이블을 가져 오려고했지만 테이블을 실행할 때 긴 문자열이 나타납니다. 긴 문자열 대신 행 당 1 단어를 얻도록 결과 형식을 변경하는 간단한 방법이 있습니까, 아니면 pd.read_html 이외의 함수를 사용해야합니까? 감사합니다!

여기 내 코드가 있습니다 :

import requests
import pandas as pd
url ='http://www.linfo.org/acronym_list.html'
dfs = pd.read_html(url, header =0)
df = pd.concat(dfs)
df

나는 또한 이것을 사용했고 같은 결과를 얻었다 :

import pandas as pd
url ='http://www.linfo.org/acronym_list.html'
data = pd.read_html(url, header=0)
data[0]

밖으로 [1] :

ABCDEFGHIJKLMNOPQRSTUVWXYZ AMD Advanced Micro Devices API 응용 프로그램 프로그래밍 인터페이스 ARP 주소 확인 프로토콜 ARPANET Advanced Research Projects Agency Network AS 자율 시스템 ASCII 정보 교환을위한 ASCII 미국 표준 코드 AT & T 미국 전화 및 전신 회사 ATA 고급 기술 첨부 파일 ATM 비동기 전송 모드 BB 바이트 BELUG Bellevue Linux 사용자 그룹 BGP 경계 게이트웨이 프로토콜 ...


답변1


문제는이 사이트에서 테이블이 생성 된 방식입니다.

https://www.w3schools.com/html/html_tables.asp 에 따르면, HTML 테이블은 태그로 정의됩니다. 각 테이블 행은 태그로 정의됩니다. 테이블 헤더는

태그로 정의됩니다. 기본적으로 테이블 제목은 굵게 표시되고 가운데에 표시됩니다. 테이블 데이터 / 셀은 태그로 정의됩니다.

CTRL SHIFT I를 누르면 사이트의 html 요소를 검사 할 수 있으며이 사이트가이 표준을 따르지 않는 것을 볼 수 있습니다. 당신이 pandas.read_html을 사용하여 정확한 데이터 프레임을 얻지 못하는 이유입니다.


 

 

 

 

출처 : https://stackoverflow.com/questions/59202250/pd-read-html-importing-a-long-string-rather-than-a-table

반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band