lxmlのetreeを使用して(ローカルに保存された)テキストファイルを解析したいと思います。しかし、私のすべてのファイル(数千)には、次のようなヘッダーがあります。
-----BEGIN PRIVACY-ENHANCED MESSAGE-----
Proc-Type: 2001,MIC-CLEAR
Originator-Name: webmaster@www.sec.gov
Originator-Key-Asymmetric:
MFgwCgYEVQgBAQICAf8DSgAwRwJAW2sNKK9AVtBzYZmr6aGjlWyK3XmZv3dTINen
TWSM7vrzLADbmYQaionwg5sDW3P6oaM5D3tdezXMm7z1T+B+twIDAQAB
MIC-Info: RSA-MD5,RSA,
AHxm/u6lqdt8X6gebNqy9afC2kLXg+GVIOlG/Vrrw/dTCPGwM15+hT6AZMfDSvFZ
YVPEaPjyiqB4rV/GS2lj6A==
<SEC-DOCUMENT>0001193125-07-200376.txt : 20070913
<SEC-HEADER>0001193125-07-200376.hdr.sgml : 20070913
<ACCEPTANCE-DATETIME>20070913115715
ACCESSION NUMBER: 0001193125-07-200376
CONFORMED SUBMISSION TYPE: 10-K
PUBLIC DOCUMENT COUNT: 7
CONFORMED PERIOD OF REPORT: 20070630
FILED AS OF DATE: 20070913
DATE AS OF CHANGE: 20070913
そして最初<
はこの場合51行目までではありません(そしてすべての場合で51ではありません)。xml部分は次のように始まります。
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>d10k.htm
<DESCRIPTION>FORM 10-K
<TEXT>
<HTML><HEAD>
<TITLE>Form 10-K</TITLE>
</HEAD>
<BODY BGCOLOR="WHITE">
<h5 align="left"><a href="#toc">Table of Contents</a></h5>
これをlxmlでオンザフライで処理できますか?または、ストリームエディタを使用して各ファイルのヘッダーを省略する必要がありますか?ありがとう!
これが私の現在のコードとエラーです。
from lxml import etree
f = etree.parse('temp.txt')
XMLSyntaxError: Start tag expected, '<' not found, line 1, column 1
編集:
FWIW、ここにファイルへのリンクがあります。