2013-10-06 3 views
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 

я пытаюсь найти ответ но я не могу справиться с этим. Спасибо за помощь!

+3

На каком языке? – Barmar

+1

Я бы добавил к вопросу о языке Бармарса и из какого формата? – tremor

+1

Чтобы добавить к обоим: что вы пробовали? –

ответ

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')] 

вы также можете увидеть объяснение детали от here

0

В соответствии с рекомендациями, вы должны использовать регулярные выражения. Возможно, функция re.split подходит здесь:

>>> l = re.split('cluster number (?:\d+)', x)[1:] 
>>> [a.split() for a in l] 
[['1', '2', '3'], ['1', '2', '3'], ...] 
Смежные вопросы