如何将输入文件数据转换为日期格式?
我想知道怎么读取一个文件,把每一行转换成日期。
我有一个叫“holiday.txt”的文件,想让Python来读取它。文件里会有这样的内容:
11/24/11
11/25/11
12/25/11
12/31/11
1/1/12
5/28/12
7/4/12
9/3/12
等等。这些是我公司的假期。我希望程序能读取这些内容,并把它们转换成日期对象,这样我就可以用时间差(timedelta)来修改这些日期,或者和发送邮件的日期进行比较。简单来说,我想确保在我的程序里,任何列出的日期都不会发送邮件(不过这个我会自己写,我只是想把所有日期转换成时间对象)。
3 个回答
0
我总是使用
dateutil.parser.parse
因为这样就不需要输入时间格式,你只需要这样做
from dateutil.parser import parse as dateparser
inputfile = open(<filename>,'r')
[dateparser(line) for line in f]
这样你就能得到一系列的日期时间对象了
0
请查看Python的日期时间文档
import time, datetime
time_format = "%m/%d/%y"
holidays = []
f = open('holiday.txt', 'r')
for line in f:
date = datetime.datetime.fromtimestamp(time.mktime(time.strptime(line, time_format)))
holidays.append(date)
3
你可以使用 datetime.strptime 这个方法,把字符串转换成 datetime.datetime
对象:
import datetime as dt
dates=[]
with open('holiday.txt','r') as f:
dates=[dt.datetime.strptime(line.strip(),'%m/%d/%y')
for line in f if line.strip()]
print(dates)