我试图读取放置在S3存储桶中的netCDF文件,我使用Xarray读取这些文件。下面的示例代码运行良好,如果我的本地文件夹中有相同的文件,如 ~/downloads/60e0489fcab82c714f516064b4e6b7acf724b7b9.nc
,但我是S3新手,不确定我缺少了什么
我试图通过Xarray读取netCDF并将其转换为csv。Boto3不适用于读取netCDF4并将其转换为CSV
以下是我的lambda函数:-
import xarray
def handler(event, context):
filename = 's3://netcdf-files/60e0489fcab82c714f516064b4e6b7acf724b7b9.nc'
ds= xarray.open_dataset(filename)
for varname in ds:
print(varname)
tas0=ds['wet_bulb_potential_temperature']
tas0
return {
'statusCode': 200,
'message': 'Hello from Python Lambda Function!'
}
我发现下面的错误,没有检测到我的S3文件路径,而是它的Lambda正在本地路径中查找文件。 来自云监视日志的错误消息:
File "/opt/python/lib/python3.6/site-packages/xarray/backends/file_manager.py", line 204, in _acquire_with_cache_info
file = self._opener(*self._args, **kwargs)
File "netCDF4/_netCDF4.pyx", line 2321, in netCDF4._netCDF4.Dataset.__init__
File "netCDF4/_netCDF4.pyx", line 1885, in netCDF4._netCDF4._ensure_nc_success
FileNotFoundError: [Errno 2] No such file or directory: b'/var/task/s3:/netcdf-files/60e0489fcab82c714f516064b4e6b7acf724b7b9.nc'
据我所知,Xarray不直接支持S3。您可以改用s3fs:
相关问题 更多 >
编程相关推荐