фильтровать файл по строкам с помощью python - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть файл с несколькими столбцами:

1.000       2.0072      1.000       3.5368      1.000       3.7748
2.000       2.0890      2.000       3.5867      2.000       3.7302
3.000       2.0784      3.000       3.3057      3.000       3.6899

Мне нужно отфильтровать его таким образом, чтобы я выбирал только строки, которые удовлетворяют определенному условию для каждого столбца, например, просто выбираю строкидля которого:

C1 < 1
C2 > 2
C3 == 3

Всего 5 столбцов, и мне нужно отфильтровать только те строки, которые соответствуют трем условиям примера.Я поднял что-то подобное, но отфильтровал все данные за это время:

k = open ("test.txt", "r")

lines = k.readlines ()
     for line in lines:
        conv_int = int (lines):
         if lines> 1:
             print (conv_int)

1 Ответ

0 голосов
/ 25 ноября 2018

Давайте проясним некоторые вещи:

  • Я не вижу интерпретации, для которой любая из строк в вашем примере прошла бы три фильтра.
  • попытка привести строки к int не сработает так, как вы это написали, и в любом случае это не всегда хорошая идея из-за эффекта округления.

Но, добавив некоторую работу с догадками, вы можете изменить следующее к вашим потребностям, надеясь получить принципы и привести в порядок более общий случай:

k = open ("test.txt", "r")
lines = k.readlines()
for line in lines:
    nums_list = [float(x) for x in line.strip().split(' ') if x != '']
    if nums_list[0] < 1 and nums_list[1] > 2 and nums_list[2] == 3:
        print(line)

Опять же,с вашим примером это ничего не напечатает, но идея должна быть ясной.Если нет, то спросите в комментариях, и я уточню, если нужно.
Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...