当前位置: 首页 > 工具软件 > OPeNDAP > 使用案例 >

python批量下载数据_使用Python从OpenDAP批量下载数据

禹昆
2023-12-01

我正在尝试从OpenDAP下载多个.nc文件。当我手动下载文件(没有脚本)时,文件按预期工作。为了加快这个过程,我有一个批量下载数据的脚本。但是,当我使用xarray下载数据时,文件的大小是原来的10倍,而且文件似乎已损坏。在

我的脚本如下:import pandas as pd

import xarray as xr

import os

import numpy as np

dates = pd.date_range(start='2016-01-01',end='2016-01-05',freq='D')

my_url = "http://www.ifremer.fr/opendap/cerdap1/ghrsst/l4/saf/odyssea-nrt/data/"

print(" ")

print("Downloading data from OPeNDAP - sit back, relax, this will take a while...")

print("...")

print("...")

# Create a list of url's

data_url = []

cnt = 0

for i in np.arange(1,5):

ii = i+1

data_url.append(my_url + str(dates[cnt].year)+"/"+ str('%03d'%+ii)+"/"\

+str(dates[cnt+1].year)+str('%02d'%dates[cnt+1].month)+str('%02d'%dates[cnt+1].day)\

+"-IFR-L4_GHRSST-SSTfnd-ODYSSEA-SAF_002-v2.0-fv1.0.nc?time[0:1:0],lat[0:1:1749],lon[0:1:2249],analysed_sst[0:1:0][0:1:1749][0:1:2249],analysis_error[0:1:0][0:1:1749][0:1:2249],mask[0:1:0][0:1:1749][0:1:2249],sea_ice_fraction[0:1:0][0:1:1749][0:1:2249]")

cnt = cnt+1

url_list = data_url

# Download data from the url's

count = 0

for data in url_list:

print('Downloading file:', str(count))

ds = xr.open_dataset(data,autoclose=True)

fname = 'SAFodyssea_sst'+str(dates[count+1].year)+str('%02d'%dates[count+1].month)+str('%02d'%dates[count+1].day)+'.nc'

ds.to_netcdf(fname)

count = count +1

del ds, fname

print('DONE !!!')

我有xarray版本0.10.8。我尝试过使用Python2.7和Python3.5.6以及Windows10和Ubuntu16.04运行这个程序,得到了相同的结果。在

非常感谢你的帮助。在

 类似资料: