2016-09-06 13 views
1

我試圖找出年份在指定範圍內的日期時間對象。我已經嘗試了一些for循環,但不幸的是我似乎無法讓它工作。我知道我可以搜索幾個月和幾年,將日期時間對象轉換爲熊貓數組,但不幸的是,我使用的軟件沒有熊貓庫,我無法將其下載到我的學校服務器。在日期時間對象內搜索python

下面是我在時間數據是如何閱讀和它精美的作品(它消除了大量的時間,將採取我的時間轉換以不同的方式)

date = netCDF4.Dateset('filename.nc', mode = 'r') 
raw_time = data.variables['time'] 
time_converted = netCDF4.num2date(raw_time[:], raw_time.units) 

的time_converted變量是一個DateTime對象出現如下:

.... 
    datetime.datetime(2006, 1, 1, 0, 0), 
    datetime.datetime(2006, 2, 1, 0, 0), 
    datetime.datetime(2006, 3, 1, 0, 0), 
    datetime.datetime(2006, 4, 1, 0, 0), 
    datetime.datetime(2006, 5, 1, 0, 0), 
    datetime.datetime(2006, 6, 1, 0, 0), 
    datetime.datetime(2006, 7, 1, 0, 0), 
    datetime.datetime(2006, 8, 1, 0, 0), 
    datetime.datetime(2006, 9, 1, 0, 0), 
    ..... 

下環是我最近的嘗試,它返回以下錯誤:

time = [] 
for i in time_converted: 
    if i.year>= 2006 and i.year<2016: 
     time.append(i) 

Type Error: 'int' object is not callable 

在我的環我也用datetime.datetime.year(我)試過,但返回:

Type Error: 'getset_descriptor' is not callable 
+6

刪除括號從i.year(),它是屬性而不是方法 – Alex

+0

@Alex當我刪除括號時,它返回一個索引錯誤,指出只有整數,切片,省略號和1-d整數或布爾數組纔是有效的索引... –

+0

你可以粘貼你運行的代碼嗎?在循環中不應該有任何索引錯誤,查看堆棧跟蹤來找出錯誤。 – Alex

回答

0

原來我需要使用下面的循環,而不是:

for i in range(len(time_converted)): 
    if time_converted[i].year >= 2006 and time_converted[i].year < 2016: 
     time.append(time_converted[i]) 
相關問題