我在一個目錄中有一堆包含大氣測量值的文件。 Fileformat是NetCDF。每個文件都有一個時間戳(變量'basetime')。我可以讀取所有文件並繪製各個測量事件(溫度與高度)。 接下來我需要做的是「將文件按日分組」,並將所有測量結果在一天內一起繪製在一張圖中。不幸的是我不知道該怎麼做。 一個想法是使用下面代碼中定義的變量'measurement_day'。 對於每一天我通常有四個不同的文件包含溫度。和高度。 理想情況下,這四個不同文件的數據應該分組(例如繪圖) 我希望我的問題很清楚。誰能幫幫我嗎。按天分組一堆文件
編輯:我現在嘗試使用字典,但我無法確定一個測量日是否已存在一個條目。請參考下面
from netCDF4 import Dataset
data ={} # was edited
for f in listdir(path):
if isfile(join(path,f)):
full_path = join(path,f)
f = Dataset(full_path, 'r')
basetime = f.variables['base_time'][:]
altitude = f.variables['alt'][:]
temp = f.variables['tdry'][:]
actual_date = strftime("%Y-%m-%d %H:%M:%S", gmtime(basetime))
measurement_day = strftime("%Y-%m-%d", gmtime(basetime))
# check if dict entries for day already exist, if not create empty dict
# and lists inside
if len(data[measurement_day]) == 0:
data[measurement_day] = {}
else: pass
if len(data[measurement_day]['temp']) == 0:
data[measurement_day]['temp'] = []
data[measurement_day]['altitude'] = []
else: pass
編輯的代碼,我得到了以下錯誤消息: 回溯(最近通話最後一個):...如果LEN(數據[measurement_day])== 0: KeyError異常:「2009/05/28'
什麼是'數據集'?它從何而來? –
在回答Ethan Furman的問題之前,我們無法真正瞭解數據是如何構建的,但是您是否嘗試過使用'measurement_day'作爲關鍵字來構建字典?你可以讓每個值都是一個變量列表,或者可能是另一個字典(keys = altitude,temp,...),values =適當值列表 –
'Dataset'是Python模塊NetCDF4中的類。它是在(從NetCDF4導入數據集'中導入的)之前導入的。抱歉忘記添加該行代碼。 – paulchen