2

我正在尝试从 python 中的 txt 文件中提取代码的 xml 部分。我正在使用的当前 txt 文件来自 edgar 数据库,并且在一个 txt 文件中具有 10-k 报告的多种表示形式,先是 html,然后是 xml,然后是其他一些表示形式,例如 PDF。

如果有人知道提取此 xml 的方法以便我可以使用它的标签,我将不胜感激。

这是我正在谈论的 txt 文件的示例: https ://www.sec.gov/Archives/edgar/data/51143/000005114313000007/0000051143-13-000007.txt

4

2 回答 2

1

您可以尝试使用:

import requests, re

text = requests.get("https://www.sec.gov/Archives/edgar/data/51143/000005114313000007/0000051143-13-000007.txt").text
for xml in re.finditer(r"<FILENAME>([^\s]+.xml)\s<DESCRIPTION>[^\s]+\s<TEXT>\s<XBRL>(.*?)</XBRL>", text, re.IGNORECASE | re.DOTALL | re.MULTILINE):
    xml_filename = xml.group(1)
    xml_content = xml.group(2)
    with open(xml_filename, "w") as w:
        w.write(xml_content)

演示

于 2020-04-28T03:50:21.473 回答
0

这个怎么样?

def getData(xml):
  # Processing your XML data after block reading. 
  pass
with open('0000051143-13-000007.txt', 'r') as file: # data.xml is your xml file path
  lines = []
  flag = False
  for line in file:
    if line.find('</XBRL>')>=0:
      getData("".join(lines))
      flag = False
      lines = []
    if flag or line.find('<?xml ')>=0:
      flag = True
      lines.append(line)
于 2020-05-01T10:24:02.710 回答