выберите диапазон дат из столбца с отметкой времени в python

#python

#python

Вопрос:

У меня есть файл со многими столбцами и несколькими столбцами с «датами» (скажем, 20,27,53 — это столбцы с датами). Из определенного столбца (скажем, 53) я хочу выбрать все даты за определенный месяц (скажем, май). Проблема в том, что формат даты — «5/01/2011 12:53». Я имею в виду, что дата также включает время.

Я пробовал несколько способов, но подсказка указывает на час.

          >>> def daterange(start_date, end_date):
             ...     for n in range((end_date - start_date).days):
             ...         may_inav_writer.writerow()
             ... 
         >>> daterange(5/01/2011 00:00, 6/01/2011 00:00)
         File "<stdin>", line 1
         daterange(5/01/2011 00:00, 6/01/2011 00:00)
                              ^
  

Ошибка синтаксиса: недопустимый синтаксис

это ошибка, которую я получил.

Ребята…нужна ваша помощь!

Ответ №1:

Это недопустимый синтаксис, независимо от того, включает он время или нет (или, скорее, он делает не то, что вы думаете, что он делает). Сначала вам нужно проанализировать его в datetime объект.

 def daterange(start_date, end_date):
    date_format = '%m/%d/%Y %H:%M'
    start_date  = datetime.datetime.strptime(start_date, date_format)
    end_date    = datetime.datetime.strptime(end_date, date_format)
    # ...

daterange('5/01/2011 00:00', '6/01/2011 00:00')
  

Ответ №2:

Похоже, что вы пытаетесь вызвать свою функцию daterange () с аргументами, которые выглядят как даты без кавычек или что-либо еще. Большинство языков программирования работают не так. Попробуйте сказать что-то вроде datetime.strptime("5/01/2011 00:00", "%m/%d/%Y %H:%M") , другими словами, указав формат ввода, который вы ожидаете проанализировать, и передав его вашей функции.

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

1. Сопоставление с шаблоном сработало для меня. спасибо Джону и cat вот код python: импортируйте повторно #после импорта файла и нового файла для записи .., для строки в CSVReader: попробуйте: if len(re.findall(r»5/[0-9] /2011″, строка[52])): CSVWriter.writerow(строка) еще: продолжить, за исключением: