我正试图从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
您可以尝试使用:
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)
演示
这个怎么样?
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)