对气象文件的数据提取与处理,包含.nc文件与.csv文件

 

import netCDF4 as nc
import sys
import glob
import csv

#读取t文件夹下的nc文件的北京温度值  t 气温

def t_getcsv(path):
    sites1_t_data = glob.glob(path + 'data/t2015/*.nc')
    sites1_t_data.sort(key=lambda x: float(x[-14:-3]))
    print('t',sites1_t_data, len(sites1_t_data))
    beij1_t = []
    for i in sites1_t_data:
        nc_obj = nc.Dataset(i)
        lev = list(nc_obj.variables['level'][:])
        print(lev)
        UU = nc_obj.variables['lon'][151:160]
        NN = nc_obj.variables['lat'][63:72]
        #print(UU,'\n',NN)

        lev700 = lev.index(700)
        lev850 = lev.index(850)
        lev925 = lev.index(925)

        for c in [lev700, lev850, lev925]:
            cc = []
            hour = int(i[-5:-3])+7
            if hour > 24:
                q = sites1_t_data.index(i)
                q1 = i
                if q < len(sites1_t_data)-1:
                    q1 = sites1_t_data[q + 1]

                cc.append(q1[-14:-5]+'01')
            elif hour ==7:
                cc.append(i[-14:-5] +'07')
            else:
                cc.append(i[-14:-5] + str(hour))

            c = int(c)
            cc.append(lev[c])
            for m in range(151, 161, 1):
                #mm = nc_obj.variables['lon'][m]
                m = int(m)
                for n in range(63, 73, 1):
                    # nn = nc_obj.variables['lat'][n]
                    n = int(n)
                    # cc.extend([m, n])

                    # print(m,n,c)
                    hh = nc_obj.variables['t'][c][n][m]
                    cc.append(hh)
            print('t','\n', cc,)
            beij1_t.append(cc)

            '''if c == lev700:
                data700.extend(cc[2:])
            elif c == lev850:
                data850.extend(cc[2:])
            else:
         
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值