验证生成的nc文件的准确性(提取一个维度,校验数据)

接到一个任务:将txt文件转化为nc文件,转化后验证数据正确性(转化的数据对不对),在网上找了几篇文章,发现不是自己想要的,于是自己写了一下

ps:只是简单验证,提供一下思路,如果想要更精细的可能需要加工一下 

import netCDF4 as nc
import numpy as np
from netCDF4 import Dataset

#需要读取的nc文件
ds = nc.Dataset(r'D:\OUT_DAY_NC_DIR\20221105.nc')

for i in range(288): #因为时间维度的长度是288  为了方便,直接把长度写上了

    nc_id = 111   #想要验证的站点id

    # data_time_data = ds.variables['data_time'][i]
    data_time_data = nc.num2date(ds.variables['data_time'][i], 'hours since 2000-01-01 00:00:00.0') #这里将时间戳转为时间

    WS_10_data_all = ds.variables['WS_10'][:, nc_id-1]  #因为我的数据是二维的,所以使用[:, nc_id-1];第一个的意思是时间维度全都要,第二个的意思是站点纬度只要第[nc_id-1]个
    Ws_10_data = WS_10_data_all[i]  #在形成的数据中选择第i个

    WD_10_data_all = ds.variables['WD_10'][:, nc_id-1]
    WD_10_data = WD_10_data_all[i]

    WS_30_data_all = ds.variables['WS_30'][:, nc_id-1]
    WS_30_data = WS_30_data_all[i]

    WD_30_data_all = ds.variables['WD_30'][:, nc_id-1]
    WD_30_data = WD_30_data_all[i]

    WS_50_data_all = ds.variables['WS_50'][:, nc_id-1]
    WS_50_data = WS_50_data_all[i]

    WD_50_data_all = ds.variables['WD_50'][:, nc_id-1]
    WD_50_data = WD_50_data_all[i]

    WS_70_data_all = ds.variables['WS_70'][:, nc_id-1]
    WS_70_data = WS_70_data_all[i]

    WD_70_data_all = ds.variables['WD_70'][:, nc_id-1]
    WD_70_data = WD_70_data_all[i]

    WS_HubHeight_data_all = ds.variables['WS_HubHeight'][:, nc_id-1]
    WS_HubHeight_data = WS_HubHeight_data_all[i]

    WD_HubHeight_data_all = ds.variables['WD_HubHeight'][:, nc_id-1]
    WD_HubHeight_data = WD_HubHeight_data_all[i]

    T_8_data_all = ds.variables['T_8'][:, nc_id-1]
    T_8_data = T_8_data_all[i]

    P_8_data_all = ds.variables['P_8'][:, nc_id-1]
    P_8_data = P_8_data_all[i]

    H_8_data_all = ds.variables['H_8'][:, nc_id-1]
    H_8_data = H_8_data_all[i]

    print('data_time_data:{0}  ,WS_10:{1}  ,WD_10:{2}  ,WS_30:{3}  ,WD_30:{4}  ,WS_50:{5}  ,WD_50:{6}  ,WS_70:{7}  ,WD_70:{8}  ,WS_HubHeight:{9}  ,WD_HubHeight:{10}  ,T_8'
          ':{11}  ,P_8:{12}  ,H_8:{13}'.format(data_time_data,Ws_10_data,WD_10_data,WS_30_data,WD_30_data,WS_50_data,WD_50_data,WS_70_data,WD_70_data,
                                         WS_HubHeight_data,WD_HubHeight_data,T_8_data,P_8_data,H_8_data))

结果如下: 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值