пропустить запись, если она пуста, пуста или имеет значение «N / A» - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь просто пропустить запись, найденную в моем соответствующем файле Excel, как: пустую, пустую или 'N / A'. Я хочу, чтобы сценарий продолжался или пропускался; не останавливаться, если запись найдена пустой, н / д.

Я пытаюсь описать ниже, но сценарий по-прежнему останавливается на пустом, или N / A найти запись в файле Excel ....

    for row in excel_data.itertuples():
        mrn = row.MRN

        if mrn in ("", " ", "N/A", None) or math.isnan(mrn):
            print(f"Invalid record: {row}")
            excel_data = excel_data.drop(excel_data.index[row.Index])
        else:
            num_valid_records += 1

    print(f"Processing #{num_valid_records} records")

Больше контекста:

Я импортирую данные из файла excel, в pandas, на веб-страницу (веб-форму).

  • Я заметил, что в файле excel есть несколько ячеек со значениями 'N / A'.
  • В кадре данных pandas несколько значений также выводятся как «NaT».
  • В настоящее время мой скрипт останавливается при исключении записи Date из ячейки, но вместо этого эта ячейка содержит «N / A». Эта запись не требуется, поэтому я просто хочу пропустить, если N / A найден, вместо остановки.
  • Я хочу, чтобы он просто пропустил эту проблемную ячейку (то есть был найден пустой, или в пределах N / A ') и переходите к другим записям.

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Я проверил ваш код, и код не останавливается в значениях Blank или NaN или . В ваших данных должно быть что-то не так. Просто распечатайте строку, которая останавливает ваш код, чтобы увидеть значение этого столбца. Кроме того, вы можете проверить наличие нулевых значений с помощью функций Python, таких как: is None или == None или что-то в этом роде.

1 голос
/ 15 марта 2019

Найдите истинный положительный результат и используйте эту запись в качестве теста. В качестве альтернативы, они могут оценивать nan в вашем фрейме данных pandas, поэтому хороший ole .dropna () может помочь вам.

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