Wczytanie danych z pliku i przekonwertowanie tablicy z string na int

0

Witajcie
Raczkuję w pythonie, programowałem wcześniej trochę w C#.
Jak wskazuje tytuł chcę wczytać dane z pliku do tablicy int, dwuwymiarowej.

dane wyglądają plus minus tak:

3 123
   4   1   1   4
   1   4   1   4
   1   1   4   1

  -1  -1  -1 100
  -1   0  -1 -80
  -1  -1  4  -1

ilość spacji między liczbami jest różna
A poniżej moje wypociny.

with open(fileName) as f:
    ls = [ls.rstrip('\n') for ls in f]

for line in ls:
    tab = [float(item) for item in line]

Pozdrawiam!

1

if line.split() pomija puste linie, jeżeli o to chodziło:

v = []
with open("data.txt", 'r') as file:
    for line in file:
        if line.split():
            line = [float(x) for x in line.split()]
            v.append(line)

print(v)
0

@lion137: Świetnie! dokładnie o to mi chodziło.
byłem blisko :) Dużo problemów mi robi jeszcze składnia Pythona.
I jeszcze ostatnie pytanie. jak to jest, że if line.split() pomija linie? przecież split jest metodą, która ma dzielić listę na dwie po jakimś znaku, który podamy. to nie powinno być w tym wersie if line == [] ??
Nie rozumiem trochę jak to działa, przecież split nie zwraca wartości logicznej.

2

line.split() zwraca listę, a w Pythonie, jak lista jest niepusta, to tam gdzie jest oczekiwane boolean, zwróci True, zaś pusta, oczywiście False. Split pustej linii, daje pustą listę - pomija w warunku.

0

@lion137 Teraz rozumiem!
Dzięki za pomoc!

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