如何从只有数字的文本文件中提取一行?

时间:2016-10-05 13:11:41

标签: python string text-files

我遇到了文本文件(字幕)的问题,如果我可以在每一行只添加一个数字的行中添加下一行字符(“\ n”),则可以轻松解析。

00:03:25,601 --> 00:03:27,468
Lorem Ipsum
94
00:03:27,470 --> 00:03:29,570
Dolor Sit Amet
95

每一行,都有一个带有基数的行,我想要摆脱,或者插入一个换行符,这样我的字幕才能正常显示。它可行吗?

编辑:请允许我重新解释一下我的问题: 我有一个巨大的文本文件,它是自动生成的,它看起来像这样:

129
00:05:04,967 --> 00:05:08,936
Lorem Ipsum
130
00:05:08,938 --> 00:05:11,538
Dolor Sit Amet
131
00:05:11,540 --> 00:05:13,941
Lorem Ipsum
132
00:05:13,943 --> 00:05:16,577
Dolor Sit Amet
133
00:05:19,215 --> 00:05:20,314
Lorem Ipsum
134
00:05:20,316 --> 00:05:21,415
More Random Text
135

这就像过去500那样。我无法真正展示我的代码,因为我无法对外部文件做太多贡献。我可以导入它并按行分割:

with open("test.txt") as t:
    tr = t.read()
    tr_split = trr.split("\n")

但我无法确定下一步该做什么。

2 个答案:

答案 0 :(得分:0)

你可以建立一个以这种方式跳过数字的行列表:

lines = [line for line in data.splitlines() if not line.strip().isdigit()]

假设data是您的文本文件内容。

答案 1 :(得分:0)

import re
with open('file.txt') as f:
    t=f.read()
print re.sub(r'(\n\d+\n)','\\1\n',t)