Python 解析文本文件

Python 解析文本文件,python,parsing,text,Python,Parsing,Text,我是python新手,希望用如下数据解析几个文本文件(~5000): 随机文本… ID:ABC123456 随机文本 标题 包含的文本 结束 随机文本 每个文件大约有3000行,我想将Title和End两行之间包含的ID和文本提取到一个csv文件中,它看起来像这样: ID文本 ABC123456包含文本1 ABC123457包含文本2 非常感谢您的帮助 以下是我所拥有的: f = open("test.txt",'r') while True: text = f.readline()

我是python新手,希望用如下数据解析几个文本文件(~5000):

随机文本…
ID:ABC123456

随机文本

标题

包含的文本

结束

随机文本

每个文件大约有3000行,我想将TitleEnd两行之间包含的ID和文本提取到一个csv文件中,它看起来像这样:

ID文本

ABC123456包含文本1

ABC123457包含文本2

非常感谢您的帮助

以下是我所拥有的:

f = open("test.txt",'r')
while True:
    text = f.readline()
    if 'Title' in text:
        print text

尝试在while循环中的
readline
行之后放置类似的内容:

id = None
title_set = True
f = open("test.txt",'r')
while True:
    text = f.readline()
    if text.startswith("ID: "):
        id = text[4:].strip() # The strip() is to remove the newline
    if text == "End":
        title_set = False
    if text == "Title":
        title_set = True
    if title_set and id is not None:
        print(id + " " + text.strip())
这将按您的需要打印所有行(不包括某些格式)


将这些行写入另一个文件可以归结为将
打印(…)
替换为
其他文件。写入(…)
,其中
其他文件
是另一个文件的句柄,以写入权限打开。

是否尝试编写任何代码?这些尝试在哪里无效?嗨,安迪,谢谢你的回复。我刚刚开始使用f.readline()解析文件。但是,读取整个文件需要异常长的时间。我想知道是否有一种更快的方法来解析这些文件?你能发布代码吗,这样我们就不会盲目了?:)当然可以,@acdr!正如我所说,刚刚开始,所以还没走多远。但这里是我所拥有的:`f=open(“test.txt”,“r”),而True:text=f.readline()如果text中的'Title'是:print text`非常感谢,@acdr!这个很好用。我的实际文件有点复杂,但我应该可以从这里开始。如果我需要更多的帮助,我会伸出援手。非常感谢。