Przetwarzanie pliku - lista - kłopot z pustymi miejsami

0

Witam,

walczę z pewnym problemem i za bardzo nie mam pomysłu jak sobie z tym poradzić ;[ Mam plik, który wygląda następująco (jest to log generowany przez jakiś program):

Nov 24 2015 300 10
Nov 25 2015 1512 11325 203 12 484
Nov 26 2015 374 425 108 4

Teraz czytam sobie plik linia po linii, wykonuje strip() i split() i otrzymuje listę zamierającą z osobna każdą z tych wartości. Takie coś działa dla mnie dobrze, do czasu gdy brakuje właśnie jakiś wartości (tak jak na wyżej zamieszczonym przykładzie).

Ogólnie chciałbym uzyskać taki efekt, że w te puste 'pojawiały się' zera, co ostatecznie dawałoby mi taki rezultat:

[Nov, 24, 2015, 300, ** 0**, ** 0**, ** 0**, ** 10 **]
[Nov, 25, 2015, 512, 11325, 203, 12, 484]
[Nov, 26, 2015, 374, 425 , 108 , 4, 0]

Brakuje pomyślunku co można tutaj wykombinować..

0

Wrzuć kod.

0

@Patryk27 - yyy, no kod nie może być skomplikowany o czym pisałem wcześniej że robię strip() i split(), no ale wrzucam kawałek kodu

def get_line_elements(line):
    return line.strip().split()

if __name__ == "__main__":
    ...
    with open(file_path,"r") as f:

        for line in f:
            line_elements = get_line_elements(line)
    ...
0

A jaki tam jest separator? Spacje? Taby? Bo tak generalnie to pewnie wystarczyłoby by zdefiniować separator, tzn dla tabów byłoby cośtam.split("\t") a dla 4 spacji cośtam.split(" ") Ale stripa to bym nie robił bo uwalisz sobie te puste miejsca na końcu linii. Jak musisz to stripuj dopiero wartości.

0

@Shalom - dzięki za wskazówkę.. poszedłem trochę tym krokiem i zrobiłem mało ładną, ale skuteczną (chyba) funkcję, która daje pożądany efekt (sprawdzone na jakiejś tam próbie przykładów.. oby działało jak najlepiej ^^)

1 użytkowników online, w tym zalogowanych: 0, gości: 1