Дата полосы Python из CSV

#python #date

Вопрос:

В настоящее время у меня есть цикл, который повторяет каждую строку CSV и извлекает информацию и вводит веб-сайт через selenium.

В настоящее время я борюсь с полем даты выпадающего списка. Дата указана в формате 30/12/2000.

Я думаю, что я должен быть в состоянии удалить каждую часть даты и отправить ее, чтобы отправить ключи в этом поле и нажать enter.

Я использую что-то вроде этого.

 from datetime import datetime  with open('/Users/me/Downloads/dates_test.csv',newline='') as csvfile:  readCSV = csv.reader(csvfile, delimiter=',')  for row in readCSV:  try:  driver = find stuff on page  d = (row[1])  objd = datetime.strptime(d, '%d %m %Y')  sign_up_date = driver.find_element_by_xpath("//*[@id='membership-signed-up- on']/a").click()  sleep(1)  day1 = driver.find_element_by_xpath("//*[@id='membership_signed_up_on_3i']").click()  day1.send_keys(objDate.day)  day1.send_keys(Keys.RETURN)  

Два вопроса,

  1. В настоящее время я получаю эту ошибку.

    Ошибка значения: данные о времени «17/05/2021» не соответствуют формату «%d %m %Y»

  2. На правильном ли я пути? Есть ли лучший способ сделать это?

Комментарии:

1. Форматы ваших дат: %d/%m/%Y. Формат должен содержать косые черты.

Ответ №1:

Вы очень близки. Просто измените эту строку:

 objd = datetime.strptime(d, '%d %m %Y')  

к этому

 objd = datetime.strptime(d, '%d/%m/%Y')  

Комментарии:

1. Спасибо за это. Теперь я получаю day1.send_keys(objDate.day) Ошибка атрибута: объект ‘NoneType’ не имеет атрибута ‘send_keys’

Ответ №2:

В качестве альтернативы, если вы не хотите иметь дело с форматами дат, вы можете воспользоваться dateutil библиотекой:

 from dateutil import parser as p  objd = p.parse(d)