1

我想解析来自 SEC 的旧式 EDGAR txt 文件,其中包含带有免费财务数据的不同文件,但是解析具有表格外观的 txt 并提取这些数据并非易事。

这是示例文件的链接

我创建了一个程序的开始,但它非常不稳定,需要针对不同情况进行大量调整。如果数据长度发生变化,除 2000 年而非 1999 年以外的任何其他类似文件都将失败,程序将中断。我不是程序员,我想知道是否有更健壮和可扩展的方法来解析这种类型的文本文件。谢谢

from bs4 import BeautifulSoup
import requests

fo_99 = requests.get("https://www.sec.gov/Archives/edgar/data/1067983/000095015099001240/0000950150-99-001240.txt")
soup_99 = BeautifulSoup(fo_99.text, "lxml")

tables_99 = soup_99.find_all('caption')
len(tables_99)
table = tables_99[1].find_all("s")
len(table)
_string = str(table[0]).split("\n")


for line in str(table[0]).split("\n"):

    if len(line) > 11:
        if not line.startswith(("<s>")):
            print(  line[0:25], "|", 
                            line[25:30], "|", 
                            line[30:43], "|" ,
                            line[43:55], "|" ,
                            line[55:66], "|",
                            line[66:72], "|",
                            line[72:76], "|",
                            line[76:87], "|",
                            line[87:109], "|",
                            line[109:121], "|",
                            line[121:128], "|",
                            line[128:], "|")
    else:
        print(line)
4

0 回答 0