csvファイルの日付をdatetime
形式に変換することをお勧めします。これは、文字列を取り出してstrptime()
を使用して、datetime
オブジェクトに変換することによって行われます。この関数は、日付文字列がどのように書式設定されているかを伝えるための書式文字列を取ります。たとえば、%Y
は、4桁の年を想定しています。
最初に作成したデータと比較する日時を作成します。 after_date
。次のように2つの日付を比較することが可能である:
from datetime import datetime
import csv
after_date = datetime(1957, 12, 18)
print "Entries after {}".format(after_date)
with open('input.csv') as f_input:
for row in csv.reader(f_input):
row_date = datetime.strptime(row[0], "%m/%d/%Y %H:%M:%S")
if row_date >= after_date:
print "{} - {}".format(row[1], row_date)
これはすなわちrow[0]
最初の列にあると比較しようとしている日付を前提としています。だから、例えば、あなたが見えるcsvファイルがあった場合、:
10/3/1946 0:00:00,row1
4/4/1947 0:00:00,row2
4/4/1957 0:00:00,row3
12/19/1957 0:00:00,row4
1/1/1958 0:00:00,row5
をスクリプトは、以下の情報を表示していました:
Entries after 1957-12-18 00:00:00
row4 - 1957-12-19 00:00:00
row5 - 1958-01-01 00:00:00
なぜ実際に 'strptime'を使用して、日付時刻、すべてを比較しませんか? – miradulo
私は、このようにする方が簡単だと思っていました。なぜなら、特定の日付以降、「経過日数」が必要なためです。 – DPdl
あなたは 'strptime'で日付を変換し、' date1 - date2'の差分を計算することができます。 –