2015-03-16 2 views
-2

Мне нужно извлечь несколько фрагментов данных из файла HTML в лист Excel. Я вытащил данные, теперь мне просто нужно извлечь их из строк. Вот пример:Python Извлечь переменные данные из строк

"501.92secs: iPhone 5s_DownStream HTTP_TCP_Downlink_1 : ILOAD = **12.000** Mbps OLOAD = **4.999** Mbps FRATE = 4.980 Mbps L4 Goodput = 4.788 Mbps Packet Loss = 0.38 SLA Result = **FAIL**<font color=white>" 

Я выделил элементы, которые мне нужно извлечь. Поскольку эти значения изменяются каждый с каждым файлом, и они должны быть сохранены для имени переменной, я не знаю, с чего начать.

+0

Что вы пробовали? Начните с string.split() и продолжайте оттуда. – Celeo

ответ

1

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

string = "501.92secs: iPhone 5s_DownStream HTTP_TCP_Downlink_1 : ILOAD = **12.000** Mbps OLOAD = **4.999** Mbps FRATE = 4.980 Mbps L4 Goodput = 4.788 Mbps Packet Loss = 0.38 SLA Result = **FAIL**<font color=white>" 


import re 
def getnumbers(string,patterns): 
results = [] 
for pattern,number in patterns.items(): 
    match = re.search(pattern,string) 
    valuestart = match.span()[1] 
    results.append([pattern,(string[valuestart+3:valuestart+number+3])]) 
return results 

#If you need obtain more values, add them to the dictionary in the argument. 
#The number next to each pattern indicates the expected size of the result. 
print(getnumbers(string,{"ILOAD =":7,"OLOAD =":7,"Result =":4})) #[['Result =', 'FAIL'], ['OLOAD =', '4.999**'], ['ILOAD =', '12.000*']] 
Смежные вопросы