Извлечь текст с помощью Python - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу извлечь определенную часть из текстового файла.

пример -

PASSED: 1  GETFILE /root/test/misc/ptolemy/erase_flash.csv  
PASSED: 4  MegaSCU -cfgclr -a0  
PASSED: 8  MegaSCU -adphwdevice -read devicetype 5 bus 1 slaveaddr 82 start 0 sz 256 -f SK83100192.vpd -a0  
PASSED: 28  VALUECHECK PACKAGE= 24.0.2-0013 in tty.log for 1 occurances!

Из приведенного выше текста я хочу извлечь "GETFILE","MegaSCU", "VALUECHECK" как мой вывод.Файл огромен, и этот текст хранится в виде столбца.

Я ищу любую опцию, которая поможет мне извлечь слово после "PASSED: X" в тексте

Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Метод 1: Вы можете сделать это просто и сделать что-то вроде следующего:

sample_txt = "PASSED: 1  GETFILE /root/test/misc/ptolemy/erase_flash.csv"

if sample_txt.startswith("PASSED"):
    output = " ".join(sample_txt.split(" ")[2:]).strip()

output даст следующий результат:

>>> GETFILE /root/test/misc/ptolemy/erase_flash.csv

Метод 2 : Чтобы учесть различия в пробелах, вы можете использовать модуль re

import re

sample_txt = "PASSED: 28  VALUECHECK PACKAGE= 24.0.2-0013 in tty.log for 1 occurances!"

if sample_txt.startswith("PASSED"):
    output = re.split("\\s+", sample_txt)[2]
>>> VALUECHECK
0 голосов
/ 11 февраля 2019

Я предполагаю, что X всегда является целым числом.

Так что вы можете удалить начало вашей строки "PASSED:", а затем прочитать число.Затем извлеките до следующего пробела.

...