从.txt文件中删除ascienceoded二进制blob

2024-05-12 14:50:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想解析10-K文件(公司的财务报表)。苹果的例子可以在here(查找.txt文件)中找到。现在,我正在读这篇research paper(看第30-31页)关于如何解析这些文件。第一步描述为移除所有ASCII编码段。。。这就是我想知道如何删除它们。在

我在StackOverflow上看到了几个关于如何删除非ASCII代码的问题,但这是不同的。ASCII编码的段是:所有带有<TYPE>标记的GRAPHICZIPEXCEL和{}的文档段-我想删除它们。在

因此,如果我按如下方式加载txt文件:

fil = open('F:\\file.txt','r')
x = fil.read()

如何从这个txt文件中删除所有ASCII编码段?要删除HTML标记,我使用过程here,但是ASCII编码的段呢?在


Tags: 文件代码标记苹果txt编码hereascii
1条回答
网友
1楼 · 发布于 2024-05-12 14:50:39

如果我没弄错的话,你正在处理的格式与SEC-EDGAR进程有关。在

我还没有花时间正式查阅。也许你应该。在

从检查链接到的Apple语句来看,您似乎希望将匹配正则表达式<DOCUMENT>\s*<TYPE>(?:GRAPHIC|ZIP|EXCEL|PDF).*?</DOCUMENT>的任何内容替换为空字符串。在

免责声明:一个正确的实现将使用XML解析器并提取所需的元素,而不是尝试从词汇上删除不需要的内容。这在^{}中应该不难。在

我起初以为这是XBLR,但事实并非如此。尝试用ETree解析它会引发异常,因为某些元素(包括<TYPE>)的结束标记似乎是可选的。最好的方法是找出这是什么格式(EDGAR site有几个规范;也许其中之一?)找到一个合适的DTD,然后从那里开始。在

一旦你整理好了,你想看看如何remove elements with XPath,也许how to use regex in (^{}) XPath。然后可能重新实现已经使用XML和XPath完成的其他提取。在

相关问题 更多 >