Как получить функцию для сохранения результатов в датафрейме - PullRequest
1 голос
/ 26 апреля 2019

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

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

df = pd.DataFrame(columns=['Phone', 'EmailAddress'])

def phonenumber():
   for element in browser.find_elements_by_xpath('.//span[@class = "phone ng-binding ng-scope"]'):
       return(element.text)


def email():
   for element in browser.find_elements_by_xpath('.//span[@class = "email ng-scope"]'):
       return(element.text)

df = df.append({'Phone': phonenumber(), 'EmailAddress': email()}, ignore_index=True)

Прямо сейчас код возвращает "none" в кадре данных

1 Ответ

1 голос
/ 26 апреля 2019

Вы можете добавить каждый element в цикле for в соответствующие пустые списки для каждой функции, вернуть их из функций и затем использовать их для создания кадра данных:

def phonenumber():  
    ph = []     
    for element in browser.find_elements_by_xpath('.//span[@class = "phone ng-binding ng-scope"]'):
         ph.append(element.text)
    return ph


def email():
    mail = []
    for element in browser.find_elements_by_xpath('.//span[@class = "email ng-scope"]'):
        mail.append(element.text)
    return mail

ph = phonenumber()
mail = email()

Теперь используйте добавленныйсписки для создания кадра данных.Предполагается, что длина списков равна.

df = pd.DataFrame({'Phone':ph, 'EmailAddress':mail})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...