Python, кроме ошибок (несколько ошибок) - PullRequest
0 голосов
/ 25 декабря 2018

Я использую python 3. Я использую базу данных для поиска страны IP, если IP отсутствует в базе данных, возвращает None или AAA.После всего процесса покажите возвращаемый результат (либо название страны, либо None, либо AAA) в новом столбце во фрейме данных. В частности, у меня есть три столбца, которые представляют собой дату и время в IP-адресе, и я хотел бы добавитьновый столбец "code1", который показывает название страны или нет этого IP.

Я добавляю исключение ошибки в коде, однако оно не работает.Код и сообщение об ошибке, как показано ниже.Кто-нибудь может помочь?

enter image description here

enter image description here

Ниже приведен отчет, когда я добавляю "из импорта geoip2.errorsAddressNotFoundError "в мой код.Я предполагаю, что это означает, что когда адрес не найден в базе данных, он ничего не возвращает, а просто «нет» (см., Есть пустые квадратные скобки), поэтому, когда я использую df ['code1'] = code1, он сообщаетномер значения не равен номеру индекса.(Я не уверен).

Фактически, моя цель состоит в том, чтобы добавить столбец к исходному фрейму данных, в котором указывается страна каждого ip или нет, если его нет в базе данных.Есть ли другой способ сделать это вместо "df ['code1'] = code1"?Любая помощь будет оценена.Спасибо

enter image description here

enter image description here

enter image description here

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018

Вы можете просто пропустить AddressNotFoundError и вместо этого сделать

try:
    response1 = reader.country(row1)
    code1.append(response1.country.iso_code)
except:
    response1 = None

, но если вы действительно хотите просто исключить AddressNotFoundError, тогда наверху выполните

import geoip.errors.AddressNotFoundError
0 голосов
/ 25 декабря 2018

Исключения, как и любой другой объект в Python.Они должны быть определены где-то.В этом случае AddressNotFoundError не определено, поэтому интерпретатор понятия не имеет, что это означает.

Он должен быть импортирован:

from geoip2.errors import AddressNotFoundError

или

import geoip2.errors.AddressNotFoundError

См. Соответствующую часть документации geoip2 .

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