猿问

将整数读取和解析为日期

我的任务的目标是从输入文件中读取日期,然后搜索并映射它。因此,我可以查找特定日期或获取每个月的结束日期。我已经花了 3 天时间,但我似乎无法弄清楚如何读取或解析文件。


这是我尝试过的:


1)


import datetime


def createDateList(filePath):

    data = open(filePath, 'r')

    dateList = []

    for space in data:

        month, day, year = map(int, space.split())

        date1 = datetime.date(year, month, day)

        dateList.append(date1)


return dateList

这是输入的样子:


6 6 19707 7 20013 15 19741 7 19772 17 1983...

提前致谢!


一只斗牛犬
浏览 167回答 2
2回答

动漫人物

第一个片段中的错误是因为你做了from datetime import datetime而不是import datetime之前做datetime.date.另请注意, to 的参数datetime.date是 ordered (year, month, day)。

繁星淼淼

这是一种解析日期并将它们放入列表的方法。拆分中的正则表达式''\s|(?<=\d{4})(?=\d)'表示在四个连续数字(后跟一个数字)之后在空格或空格上拆分。这样,年份将与月份的以下数字分开。这些是正则表达式中的后视和前瞻结构。import refrom datetime import dates = '6 6 19707 7 20013 15 19741 7 19772 17 1983'dates = re.split(r'\s|(?<=\d{4})(?=\d)', s)# get length less last 3i = len(dates) - 3j = 0final_date = []while j <= i:&nbsp; &nbsp; m, d, yr = dates[j:j+3]&nbsp; &nbsp; final_date.append(date(int(yr), int(m), int(d)))&nbsp; &nbsp; j += 3for d in final_date:&nbsp; &nbsp; print(d)输出:1970-06-062001-07-071974-03-151977-01-071983-02-17
随时随地看视频慕课网APP

相关分类

Python
我要回答