在python中,从带有时间戳的列中选择日期范围
我有一个文件,有很多列,只有少数列有“日期”,比如20、27、53列有日期。 从一个特定的列中,比如说53,我想选择一个特定月份的所有日期。 问题是日期的格式是5/01/2011 12:53。我的意思是日期也包括时间 我尝试了几种方法,但都是准时到达在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)
>>> 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)
^
SyntaxError:无效语法
这就是我犯的错误
伙计们…需要你们的帮助 似乎您正试图使用看起来像没有引号的日期或其他参数来调用daterange函数。这不是大多数编程语言的工作方式。试着说一些类似datetime.strptime5/01/2011 00:00,%m/%d/%Y%H:%m的话,换句话说,指定您希望解析的输入格式,并将其传递给您的函数。它不是一个有效的语法,不管它是否包含时间,或者更确切地说,它没有做您认为它正在做的事情。您需要首先将其解析为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')
模式匹配对我有用。感谢John和cat++以下是python代码:导入文件后导入re和要写入的新文件..,对于csvReader中的行:try:if lenre.findallr5/[0-9]+/2011,row[52]:csvWriter.writerow else:继续,除了: