Используйте Python для выбора строк с определенным диапазоном значений в одном столбце

Я знаю, что это просто, но я новый пользователь Python, поэтому у меня возникли некоторые проблемы. Кстати, я использую Python 3.

У меня есть несколько файлов, которые выглядят примерно так:

ИМЯ ДАТА ВОЗРАСТ СЕКС ЦВЕТ

<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>

(Притворимся, что это разделитель табуляции. Я должен добавить, что реальный файл будет иметь около 3000 строк и 17-18 столбцов)

Что я хочу сделать, это выбрать все строки, которые имеют значение в столбце возраста, который меньше 23.

В этом примере вывод будет:

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

Вот что я пытался сделать:

<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>

Теперь, в идеале, у меня есть 20-30 из этих "адресных книг" inputfiles и я хотели, чтобы этот сценарий прошел через них все и добавил все записи в возрасте до 23 лет в один и тот же выходной файл (& quot; college_age.txt & quot;). Мне действительно не нужно сохранять другие строки, но я не знал, что еще с ними делать.

Этот скрипт, когда я запускаю его, выдает ошибку.

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

Затем я изменяю третью строку на:

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

И это больше не дает мне ошибки, а просто ничего не делает. Это только начинается, а затем начинается.

Любая помощь? :) Помните, что я туп с Python.

Я должен был добавить, что мои фактические данные имеют десятичные дроби и не являются целыми числами. Я отредактировал данные выше, чтобы отразить это.

Ответы на вопрос(3)

Ваш ответ на вопрос