python讀寫nc檔案

2021-07-22 19:11:36 字數 2830 閱讀 9187

參考自

#讀nc檔案需要用到netcdf4

import netcdf4 as nc

#開啟nc檔案

nc_obj=nc.dataset("c:\\users\\kong\\pycharmprojects\\replacencl\\meow")

#看看nc檔案中有甚麼

print(nc_obj)

root group (netcdf3_classic data model, file format netcdf3):

title:  output from wrf v3.3.1 model

start_date: 2008-07-30_00:00:00

simulation_start_date: 2008-07-30_00:00:00

...dimensions(sizes): time(1), datestrlen(19), west_east(669), south_north(669),...

variables(dimensions): |s1 times(time,datestrlen), float32 lu_index(time,south_north,west_east), float32 znu(time,bottom_top), ...

groups: 

#檢視nc檔案中的變數

print(nc_obj.variables.keys())

[u'times', u'lu_index', u'znu', u'znw', u'zs', u'dzs',...

#檢視u這個變數

print(nc_obj.variables['u'])

float32 u(time, bottom_top, south_north, west_east_stag)

fieldtype: 104

memoryorder: xyz

description: x-wind component

units: m s-1

stagger: x

coordinates: xlong_u xlat_u

unlimited dimensions: time

current shape = (1, 39, 669, 670)

filling off

#檢視u這個變數的屬性

print(nc_obj.variables['u'].ncattrs())

[u'fieldtype', u'memoryorder', u'description', u'units', u'stagger', u'coordinates']

#檢視u的其中乙個屬性「單位」

print(nc_obj.variables['u'].units)

m s-1

#讀取u的資料值

uu=nc_obj.variables['u'][:]

print(uu)

[[[[ -1.23765385e+00  -1.18628418e+00  -1.13026094e+00 ...,

...,

...,

...,

-2.50045204e+00  -2.50769806e+00  -2.52506447e+00]]]]

#隨便畫個直方圖看看吧

plt.hist(uu[0,0,0,:], color='gray')

plt.show()

#關閉檔案

nc_obj.close()

#新建檔案並寫入資料

da=nc.dataset("950hpa_llj_ageouvznum","w",format="netcdf4")

da.createdimension("latsize",usize[0])

da.createdimension("lonsize",usize[1])

da.createvariable("u","f8",("latsize","lonsize"))

da.createvariable("v","f8",("latsize","lonsize"))

da.createvariable("z","f8",("latsize","lonsize"))

da.createvariable("lon","f8",("latsize","lonsize"))

da.createvariable("lat","f8",("latsize","lonsize"))

da.createvariable("num","f8",("latsize","lonsize"))

da.variables["u"][:]=output_u

da.variables["v"][:]=output_v

da.variables["z"][:]=output_z

da.variables["lat"][:]=lat

da.variables["lon"][:]=lon

da.variables["num"][:]=output_num

da.description="950hpa,llj,ageouvznum"

da.author="konghoiio"

da.createdate="2016-10-05"

da.close()

Python檔案讀寫

今天在看python檔案讀寫操作,發現python file name mode buffering file 函式用於建立乙個file物件,它有乙個別名叫open 可能更形象一些,它們是內建函式。來看看它的引數。它引數都是以字串的形式傳遞的。name是檔案的名字。mode 是開啟的模式,可選的值為...

python檔案讀寫

檔案讀寫模式 模式 描述 r以讀方式開啟檔案,可讀取檔案資訊。w以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a以追加模式開啟檔案 即一開啟檔案,檔案指標自動移到檔案末尾 如果檔案不存在則建立 r 以讀寫方式開啟檔案,可對檔案進行讀和寫操作。w 消除檔案內容,然後以讀寫...

python 讀寫檔案

python讀寫檔案在文字不大的情況可以用正常的 open 然後讀入 readline行讀入 或者整體讀入 read readlines 基本知識 file open path,r 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只...