2015-08-04 2 views
-2

У меня есть входной файл с данными:Python: зерноуборочный многострочного к SingleLine

2015-06-05 16:22:10 Payload-Line-1 

Payload-Line-2 

2015-06-05 16:22:11 Payload-Line-1 

Payload-Line-2 

Payload-Line-3 

2015-06-05 16:22:12 Payload-Line-1 

Я пытаюсь разобрать файл как:

2015-06-05 16:22:10 Payload-Line-1 
Payload-Line-2 

2015-06-05 16:22:11 Payload-Line-1 
Payload-Line-2 
Payload-Line-3 

2015-06-05 16:22:12 Payload-Line-1 

Это многострочный начало из того же регулярного выражения \d{1,4}\-\d{1,2}\-\d{1,2}, но я могу не делать этого

Любые эксперты python могут мне помочь?

+0

попытались вам решить эту проблему? Если у вас есть, укажите свой код и исследования в своем вопросе, чтобы показать, что не сработало для вас. Если нет, сначала попытайтесь решить проблему, а затем опубликуйте код и исследуйте здесь. Это затрудняет ответ другим пользователям! – SuperBiasedMan

ответ

0

Вот два возможных решения. Первое немного ограничено, но обеспечивает выход без использования регулярных выражений. Где text содержит ваш образец текста, как показано в вашем вопросе.

print text.replace("\n\n", "\n").replace("2015-", "\n2015-").strip() 

print re.sub(r"(?!^)(\d{4}-)", r"\n\1", text.replace("\n\n", "\n")) 

Оба они дают следующий результат:

2015-06-05 16:22:10 Payload-Line-1 
Payload-Line-2 

2015-06-05 16:22:11 Payload-Line-1 
Payload-Line-2 
Payload-Line-3 

2015-06-05 16:22:12 Payload-Line-1 

испытано с использованием Python 2.7

Смежные вопросы