0
BeautifulSoup (pdf에서 파일로 변환해야 함)를 사용하여시 정부에 대한 재무 데이터를 가져 오려고합니다. 데이터를 CSV 파일로 가져오고 Excel 또는 SAS로 분석합니다. 내 문제는 "& nbsp;"를 인쇄하고 싶지 않다는 것입니다. 즉 원래의 HTML에 있으며 번호와 행 제목 만 포함됩니다. 내가 정규식을 사용하지 않고 이것을 할 수있는 방법에 대한 제안?BeautifulSoup를 사용하여 특정 텍스트 만 인쇄하는 방법
다음은 내가보고있는 html의 샘플입니다. 다음은 내 코드입니다 (현재 개념 모드의 증명으로, 계속 진행하기 전에 깨끗한 데이터를 얻을 수 있음을 증명해야 함). Python과 프로그래밍에 익숙하지 않으므로 도움이 될 것입니다.
<TD class="td1629">Investments (Note 2)</TD>
<TD class="td1605"> </TD>
<TD class="td479"> </TD>
<TD class="td1639">-</TD>
<TD class="td386"> </TD>
<TD class="td116"> </TD>
<TD class="td1634">2,207,592</TD>
<TD class="td479"> </TD>
<TD class="td1605"> </TD>
<TD class="td1580">2,207,592</TD>
<TD class="td301"> </TD>
<TD class="td388"> </TD>
<TD class="td1637">2,882,018</TD>
그것은 문자를 적절한하는
및 기타 HTML 엔티티로 변환
import htmllib
import urllib
import urllib2
import re
from BeautifulSoup import BeautifulSoup
CAFR = open("C:/Users/snown/Documents/CAFR2004 BFS Statement of Net Assets.html", "r")
soup = BeautifulSoup(CAFR)
assets_table = soup.find(True, id="page_27").find(True, id="id_1").find('table')
rows = assets_table.findAll('tr')
for tr in rows:
cols = tr.findAll('td')
for td in cols:
text = ''.join(td.find(text=True))
print text+"|",
print
매우 시원하고 감사합니다. @ 세바스챤. 한 걸음 더 나아가려면 출력을 쓰는 방법이 있나요? 1 대신 1 | 3 | | 3? – snown
@ snown : 공백 만 포함하는 열을 추가하지 마십시오. 문자열에 공백이 아닌 문자가 있는지 확인하려면 : if column.strip()'. 유니 코드 문자열의'strip()'메소드는 공백없는 중단 공간을 인식하고 문자열에서 제거합니다. – jfs