我正在读取一个csv文件并逐行打印,因此打印如下:
['1555', 'A rotary phone', '6/25/16', '$186 ']
['1444', 'A top hat', '10/5/16', '$77 ']
['1666', 'A turtle', '9/28/16', '$198 ']
我可以编写什么代码来从每一行获取日期,并使用datetime模块确定该条目的日期是星期五?我正在研究我的技能,这将有很大帮助。感谢。
答案 0 :(得分:1)
您可以使用datetime.datetime.strptime
:( documentation)
>>> from datetime import datetime
>>> datetime_obj = datetime.strptime('6/25/16', '%m/%d/%y')
>>> datetime_obj.weekday()
5
功能:
def is_friday(l):
return datetime.strptime(l[2], '%m/%d/%y') == 5
甚至:
is_friday = lambda l: datetime.strptime(l[2], '%m/%d/%y') == 5
>>> is_friday(['1555', 'A rotary phone', '6/25/16', '$186 '])
False
答案 1 :(得分:0)
如果日期始终位于第2位,您可以使用datetime.strptime()
功能检索工作日并查看是否是星期五。
from datetime import datetime
l = ['1555', 'A rotary phone', '6/25/16', '$186 ']
t = datetime.strptime(l[2], "%m/%d/%y")
t.weekday() # Will return 0 for Monday, 1 Tuesday and so on
答案 2 :(得分:0)
您可以使用在datetime(documentation)中找到的工作日()。
import datetime
# this string manipulation adds the '20' to make the date '2016'
datetime.datetime.strptime(lineOfCSV[2][:-2]+'20'+lineOfCSV[2][-2:], "%m/%d/%Y").date().weekday()
这将返回与工作日匹配的int: 0:星期一 1:星期二 2:星期三 3:星期四 4:星期五 5:星期六 6:星期天