1

我有一个这样的文件:

cluster number 1

1

2

3

cluster number 2

1

2

3

cluster number x

1

2

3

我想将此文件拆分为簇号段,如下所示

cluster number 1

1

2

3

我试图寻找答案,但我无法处理。谢谢你的帮助!

4

2 回答 2

0

用户正则表达式

import re
input_text = "..."
r = re.findall(r"(cluster number (\d+)\n\n(\d+)\n\n(\d+)\n\n(\d+))", input_text)
print r

此代码返回以下列表

[('cluster number 1\n\n1\n\n2\n\n3', '1', '1', '2', '3'),
 ('cluster number 2\n\n1\n\n2\n\n3', '2', '1', '2', '3')]

您还可以从此处查看详细说明

于 2013-10-06T01:59:09.133 回答
0

按照建议,您应该使用正则表达式。也许 re.split 函数在这里适合:

>>> l = re.split('cluster number (?:\d+)', x)[1:]
>>> [a.split() for a in l]
[['1', '2', '3'], ['1', '2', '3'], ...]
于 2013-10-06T08:37:31.600 回答