2013-05-15 23 views
0

在python我導入一個csv文件在每一行(2013-03-14 07:37:33) 和我想比較它帶有我用時間戳獲得的日期時間值。 我認爲當我讀取csv時,結果是字符串,但是當我嘗試在循環中將它們與來自時間戳的字符串進行比較時,根本不比較它們,同時沒有給出錯誤。pythonian比較:從csv文件date.time到date.time從時間戳

有什麼建議嗎?

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: 
+0

你能對你的意思是「什麼擴大,但是當我嘗試將它們與來自時間戳串的循環比較不會不給我在一個錯誤都對它們進行比較同一時間「 –

回答

0

使用datetime.datetime.strptime將字符串解析爲日期時間對象。您可能還需要計算CSV中日期字符串的來源並對其進行調整。閱讀時

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

或解析它:

%Y-%m-%d %H:%M:%S應該作爲您的格式字符串

for row in reader: 
    date = datetime.datetime.strptime(row[0], '%Y-%m-%d %H:%M:%S') 
+0

作品像一個美麗:) – marinako

0

你可以自己與datetime.datetime.strptime解析它應該是罰款,如果你知道格式的日期如果你不知道格式或想要更健壯,我會建議你使用python-dateutil庫中的解析器,它有一個非常強大的解析器。

pip install python-dateutil 

然後

import dateutil.parser 
d = dateutil.parser.parse('1 Jan 2012 12pm UTC') # its that robust!