当前位置:   article > 正文

Python读取NetCDF(nc)文件_python 采用netcdf读取nc文件

python 采用netcdf读取nc文件

1.先决条件:安装netCDF4库

  1. pip install netCDF4
  2. pip install pandas

2.导入相关库

  1. from netCDF4 import Dataset
  2. import pandas as pd
  3. import os

3.写一个读取nc文件的函数

  1. def read_NetCDF_ionPrf(filename):
  2. data = Dataset(filename, 'r') # filename为文件所在路径,权限为只读
  3. MSL_alt = data.variables['MSL_alt'][:] # Mean sea level altitude of perigee point(km)
  4. GEO_lat = data.variables['GEO_lat'][:] # Geographical latitude of perigee point (°)
  5. GEO_lon = data.variables['GEO_lon'][:] # Geographical longitude of perigee point (°)
  6. OCC_azi = data.variables['OCC_azi'][:] # Azimuth angle of occ.plane with respect to earth(°)
  7. TEC_cal = data.variables['TEC_cal'][:] # calibrated occultation TEC below LEO orbit(TECU)
  8. ELEC_dens = data.variables['ELEC_dens'][:] # Election density(el/cm3
  9. df = pd.DataFrame({
  10. 'MSL_alt': MSL_alt,
  11. 'GEO_lat': GEO_lat,
  12. 'GEO_lon': GEO_lon,
  13. 'OCC_azi': OCC_azi,
  14. 'TEC_cal': TEC_cal,
  15. 'ELEC_dens': ELEC_dens
  16. }, index=pd.RangeIndex(start=1, stop=len(MSL_alt)+1, step=1))
  17. df.to_csv(filename+'.csv') # 读取后保存为csv文件

4.调用函数

  1. directory = 'E:/programme/python/NetCDF/ionPrf/2019.065/' # nc文件路径
  2. for root, dirs, files in os.walk(directory):
  3. for file_name in files:
  4. if file_name.endswith("_nc"): # 寻找路径里的nc文件
  5. file_path = os.path.join(root, file_name) # 获得nc文件路径(包含文件名)
  6. # print(file_path)
  7. read_NetCDF_ionPrf(file_path)

5. 读取结果(csv格式)

6.获取全局属性

  1. hour = data.getncattr('hour')
  2. minute = data.getncattr('minute')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/572854
推荐阅读
相关标签
  

闽ICP备14008679号