Mam plik dziennika z dowolną liczbą linii. Wszystko, czego potrzebuję, to wyodrębnić jedną linię danych z pliku dziennika, która zaczyna się ciągiem "Total". Nie chcę żadnych innych linii z pliku.plik dziennika parsujący python
Jak napisać prosty program python do tego?
To jest jak mój plik wejściowy wygląda
TestName id eno TPS GRE FNP
Test 1205 1 0 78.00 0.00 0.02
Test 1206 1 0 45.00 0.00 0.02
Test 1207 1 0 73400 0.00 0.02
Test 1208 1 0 34.00 0.00 0.02
Totals 64 0 129.61 145.64 1.12
Próbuję uzyskać plik wyjściowy, który wygląda jak
TestName id TPS GRE
Totals 64 129.61 145.64
Ok .. Więc chciałem tylko 1, 2, 4 i 5. kolumna z pliku wejściowego, ale nie inne. Próbuję listę [indeks], aby osiągnąć to, ale uzyskanie IndexError: (indeks listy poza zakresem). Również przestrzeń między 2 kolumnami nie jest taka sama, więc nie jestem pewien, jak podzielić kolumny i wybrać te, które chcę. Czy ktoś może mi w tym pomóc. Poniżej jest program użyłem
newFile = open('sana.log','r')
for line in newFile.readlines():
if ('TestName' in line) or ('Totals' in line):
data = line.split('\t')
print data[0]+data[1]
Python wydaje się overkill dla tego zadania ... nie grep być szybciej? –