编辑.txt文件,然后使用python转换为有效的xml

时间:2016-06-15 14:56:01

标签: python xml converter txt2tags

我有很多文本文件需要转换为.xml才能更有效地工作 (我应该做几种语言模型来分析英语方言)

文件是这样的:

<I> <IFL-IDN W2C-001 #1:1> <#> <h> <bold> Some Statement that I can edit </bold> <bold> followed by another </bold> </h> 
    <IFL-IDN W2C-001 #2:1> <p> <#> more and more text that is not very relevant . </p></I>

每个文件大约有500个单词,我想要做的是识别标签,并关闭未关闭的标签,例如&lt;#&gt;在句子的末尾。

然后我想将整个.txt文件转换为每个单词之前和之后的有效xml文件。 我可以用.split()分隔它,但问题是那些标签中有空格。

我能想到的最好的代码是splilines(),然后是句子上的.split(),然后尝试识别

这是

的代码
Korpus = open("w2c-001.txt").read().splitlines()

for i in Korpus:
    Sentence = i.split()
    for j in  range(0,len(Sentence)-2):
        if((Sentence[j][0]=='<' and Sentence[j][len(Sentence[j])-1]!='>') or( Sentence[j][0]!='<' and Sentence[j][len(Sentence[j])-1]=='>')):
            Sentence[j] = Sentence[j] + " " + Sentence[j+1] +" " + Sentence[j+2]
            Sentence.remove(Sentence[j+1])
            Sentence.remove(Sentence[j+2])
            #print(Sentence[j])
        print(Sentence[j])    

我的初衷是如果我甚至可以写一些东西来保存.txt文件中的有效xml,那么将该文件转换为.xml不应该是一个很大的问题。 我找不到可以做到这一点的python库,eltree库可以创建xml,但是我发现没有什么可以识别并转换它。

提前感谢您,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

首先,您不必加载文件和分割线,您可以遍历这些线。 xml解析器可以分别应用于每一行。

Korpus = open("w2c-001.txt")
for line in Korpus:
    ...

如果您想自己解析它,请使用正则表达式来查找标记

import re
re.findall(r'<[a-z]*>','<h> <bold> Some Statement that I can edit </bold> <bold> followed by another </bold> </h>')

XML不是一种文件格式,它只是一种语言,只需将纯文本写入.xml文件即可。