2015-10-19 81 views
1

我想從arc.sde數據庫中的衆多表中排除一些結果,並且唯一可以使用的字段是日期字段。我研究了Python2網站並試圖瞭解關於日期時間等的第8.1頁,但尚未能實現我的目標。 (使用Win 7的時,ArcGIS 10.2的Python 2.7.5和混合操作系統環境)如何使用da.searchcursor選擇小時和分鐘= 0的行

下面的代碼運行正常.....

with arcpy.da.SearchCursor(fc, ['LASTEDIT_ON']) as cursor: 
    for row in cursor: 
      if row[0] <> None: 
        print str(row[0]) 

但我需要它來排除返回的行,其中小時/分鐘/秒都是00:00:00。

2014-05-13 16:16:34 
2014-09-26 11:45:15 
2015-06-18 14:47:05 
2015-02-03 10:38:50 
2008-03-10 00:00:00 
2007-06-06 00:00:00 

我試着給我的代碼添加小時和分鐘,但我完全在錯誤的軌道上,我認爲。錯誤如下。

if row[0] <> None and datetime.hour <> 0: 

Error Info: 
'module' object has no attribute 'hour' 

回答

1

如果你的日期字段是一個真正的日期字段,而不是一個文本框,下面的代碼將打印日期以小時,分鐘和秒都空:

import arcpy 
with arcpy.da.SearchCursor(fc, 'LASTEDIT_ON') as cursor: 
    for row in cursor: 
     if row[0].hour == 0: 
      if row[0].minute == 0: 
       if row[0].second == 0: 
        print row[0] 
+0

完美的感謝@GISGe。我還在'cursor in cursor:'的行中添加了一行,以說明一個數據集中某些行實際上爲null的實例。這是額外的行,如果row [0] <> None: – user1995458

相關問題