带循环的NetCDF到CSV

时间:2018-04-03 23:48:00

标签: loops csv netcdf

我编写了此代码,使用特定的纬度和经度将NetCDF文件中的数据提取到CSV文件中。我的问题在于,每次新生成的CSV文件都包含以前的值。添加到先前结果和CSV No.3的每次迭代的结果包括CSV No.1和No.2的值。它使这个过程变得如此缓慢。有办法管理吗? 谢谢。

import xarray as xr
import numpy as np
import pandas as pd


data = xr.open_mfdataset('D:/data/Control/*.nc')

time = data.variables['time']
lon = data.variables['lon'][:]
lat = data.variables['lat'][:]
tmax = data.variables['tmax'][:]

longs=[28.57,30.30,32.03,33.76,35.49,37.22,38.95,40.68,42.41,44.14,45.87,47.60,49.33]

t0=153
result=[]
result1=[]

for j in longs: 
    df=data.sel(lat=-105.48,lon=j, method='nearest')
    splits=[120,485,850,1216,1581,1946,2311,2677,3042,3407,3772,4138,4503,4868,5233,5599,
        5964,6329,6694,7060,7425,7790,8155,8521,8886,9251,9616,9982,10347,10712]
    for i in splits:
        time3=df.variables['time'][i:(i+t0)]
        dg=df.sel(time=time3, method ='nearest')  
        result.append(dg.tmax)
    np.savetxt("con-105-{0}.csv".format(j), result, fmt="%s")

0 个答案:

没有答案