Użyj Pythona, aby wybrać wiersze o określonym zakresie wartości w jednej kolumnie

Wiem, że to proste, ale jestem nowym użytkownikiem Pythona, więc mam tutaj trochę problemów. Swoją drogą używam Pythona 3.

Mam wiele plików, które wyglądają mniej więcej tak:

NAZWA DATA WIEK KOLOR SEKSU

<code>Name Date Age Sex Color
Ray  May  25.1 M  Gray
Alex Apr  22.3 F  Green
Ann  Jun  15.7 F  Blue
</code>

(Udawaj, że jest to rozdzielone tabulatorami. Powinienem dodać, że prawdziwy plik będzie miał około 3000 wierszy i 17-18 kolumn)

Chcę wybrać wszystkie wiersze, które mają wartość w kolumnie wieku, która jest mniejsza niż 23.

W tym przykładzie dane wyjściowe będą następujące:

<code>Name Date Age Sex Color
Alex Apr  22.3 F  Green
Ann  Jun  15.7 F  Blue
</code>

Oto, co próbowałem zrobić:

<code>f = open("addressbook1.txt",'r')
line = f.readlines()
file_data =[line.split("\t")]
f.close()

for name, date, age, sex, color in file_data:
    if age in line_data < 23:
        g = open("college_age.txt",'a')
        g.write(line)
    else:
        h = open("adult_age.txt",'a')
        h.write(line)
</code>

Teraz, najlepiej, mam 20-30 plików wejściowych „książki adresowej” i chciałem, aby ten skrypt przechodził przez wszystkie i dodawał wszystkie wpisy o wieku poniżej 23 lat do tego samego pliku wyjściowego („college_age.txt”). Naprawdę nie muszę trzymać innych linii, ale nie wiedziałem, co z nimi zrobić.

Ten skrypt, gdy go uruchomię, generuje błąd.

<code>AttributeError: 'list' object has no attribute 'split'
</code>

Następnie zmieniam trzecią linię na:

<code>file_data=[line.split("\t") for line in f.readlines()]
</code>

I nie daje mi już błędu, ale po prostu nic nie robi. Po prostu się zaczyna i zaczyna.

Jakaś pomoc? :) Pamiętaj, że jestem głupi w Pythonie.

Powinienem dodać, że moje rzeczywiste dane mają liczby dziesiętne i nie są liczbami całkowitymi. Zmodyfikowałem powyższe dane, aby to odzwierciedlić.

questionAnswers(3)

yourAnswerToTheQuestion