0

Python では、各行 (2013-03-14 07:37:33) に 1 つの datetime 値を持つ csv ファイルをインポートし、タイムスタンプで取得した datetime 値と比較したいと考えています。csvを読み取ったときの結果は文字列であると想定していますが、ループでそれらをタイムスタンプの文字列と比較しようとすると、同時にエラーが発生することなくまったく比較されません。

助言がありますか?

csv_in = open('FakeOBData.csv', 'rb')
reader = csv.reader(csv_in)

for row in reader:
    date = row
    OBD.append(date)

. . .

for x in OBD:
    print x
    sightings = db.edge.find ( { "tag" : int(participant_tag)},{"_id":0}).sort("time")
    for sighting in sightings:
        time2 = datetime.datetime.fromtimestamp(time)
        if x == time2:
4

2 に答える 2

0

文字列を解析して datetime オブジェクトにするには、datetime.datetime.strptimeを使用します。また、CSV の日付文字列がどのタイム ゾーンからのものであるかを調べて、それに合わせて調整する必要がある場合もあります。

%Y-%m-%d %H:%M:%Sフォーマット文字列として機能するはずです:

x_datetime = datetime.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
if x_datetime == time2:

または、読み取り時に解析します。

for row in reader:
    date = datetime.datetime.strptime(row[0], '%Y-%m-%d %H:%M:%S')
于 2013-05-15T16:34:38.527 に答える