2011-11-15 25 views
1

ファイルを読み込んで各行を日付に変換するにはどうすればよいですか?入力ファイルのデータを日付形式に変換するにはどうすればよいですか?

だから私は "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で変更するか、電子メールを送信する日付と比較することができます。基本的に私のプログラムでは、ここに記載されている日付はメールを送信しないことを保証したいと考えています(ただし、これはすべての日付を時間オブジェクトに変換したいだけです)。

答えて

4

あなたは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) 
0

Python datetimeドキュメント

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)  
+1

日時がのstrptimeメソッド、する必要がありますdatetime.datetimeのオブジェクトのリストを取得んので、一つは時刻形式を入力する必要はありませんので、使用時間。 – rplnt

0

私はいつも

を使用
dateutil.parser.parse 

あなたは

from dateutil.parser import parse as dateparser 

inputfile = open(<filename>,'r') 

[dateparser(line) for line in f] 

を単に行うことができますし、

+0

そのような "インテリジェントな"ソフトウェアの問題は、あなたの入力に日付フォーマットが混在している場合( "世界の子会社から入手したすべてのファイル"という意味)、混乱は検出されません。 –

関連する問題