我有几百个html文件,如下所示。你知道吗
<nonDerivativeTable>
<nonDerivativeHolding> #First Holding
<securityTitle>
<value>Stock</value>
</securityTitle>
</nonDerivativeHolding>
<nonDerivativeHolding> #Second Holding
<securityTitle>
<footnoteId id="F1"/>
</securityTitle>
</nonDerivativeHolding>
<nonDerivativeHolding> #Third Holding
<securityTitle>
<value>Option</value>
<footnoteId id="F2"/>
<footnoteId id="F3"/>
</securityTitle>
</nonDerivativeHolding>
</nonDerivativeTable>
我想提取的两个变量是安全性(‘股票’在#第一控股,’在#第二控股,’在#第三控股,’期权’)和安全性#脚注(’在#第一控股,’F1;F2’在#第二控股,’F3’在#第三控股。但是securityTitle和securityTitleFootnote并不总是存在。 此外,有时也会有多个脚注ID,就像第三个保持中的那样。 我想使用每个“Holding”标记中的数据编写每个rwo,允许空值。你知道吗
import csv
from bs4 import BeautifulSoup
with open('output.csv', 'w', newline='') as outfile:
writer = csv.writer(outfile, )
soup = BeautifulSoup(doc, 'htmparser') #Let's say doc has the html.
try:
securityTitles = soup.select('securityTitle > value').text
except:
securitiyTitles = ''
try:
securityTitleFootnotes = '; 'join(soup.select('securityTitle > footnoteid').get('id')
except:
securityTitleFootnotes = ''
for securityTitle, securityTitleFootnote in zip(securitiyTitles, securityTitleFootnotes):
writer.writerow([securityTitle, securityTitleFootnote])
我希望结果是
注意:我试图解析的一个url是“https://www.sec.gov/Archives/edgar/data/12927/0001225208-09-018738.txt”。我上传的句子只是数据的一部分。 现在我看到那些是XML。。。而不是HTML。你知道吗
您可以找到每个
nonDerivativeHolding
的内容,然后为每个nonDerivativeHolding
应用处理程序的自定义列表:输出:
相关问题 更多 >
编程相关推荐