2017-06-19 207 views
1

谁能告诉我我做错了什么?我正在使用python-conda,以及我从http://meop40.troja.mff.cuni.cz:11180/gw.projekt/data.stratopauza/netcdf.profily/ 中获得的文件为什么它告诉我该文件不存在?netCDF4 - Python错误

>>> import netCDF4 
 
>>> import pandas as pd 
 
>>> import matplotlib.pyplot as plt 
 
>>> url = 'http://meop40.troja.mff.cuni.cz:11180/gw.projekt/data.stratopauza/netcdf.profily/atmPrf_C001.2010.227.00.03.G04_2013.3520_nc' 
 
>>> nc = netCDF4.Dataset(url) 
 
**syntax error, unexpected WORD_WORD, expecting SCAN_ATTR or SCAN_DATASET or SCAN_ERROR 
 
context: <!DOCTYPE^ HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /gw.projekt/data.stratopauza/netcdf.profily/atmPrf_C001.2010.227.00.03.G04_2013.3520_nc.dds was not found on this server.</p><hr><address>Apache/2.4.12 (Ubuntu) Server at meop40.troja.mff.cuni.cz Port 11180</address></body></html> 
 
Traceback (most recent call last): 
 
    File "<stdin>", line 1, in <module> 
 
    File "netCDF4\_netCDF4.pyx", line 1811, in netCDF4._netCDF4.Dataset.__init__ (netCDF4\_netCDF4.c:12626) 
 
IOError: NetCDF: file not found**

回答

1

NetCDF4.Dataset()只能访问它们通过OPeNDAP服务,可以返回有关文件的元数据提供远程的NetCDF文件。返回的错误消息不正确且具有误导性。

有一个简短的教程,其中提到这一点,并在给出的基本信息:http://unidata.github.io/netcdf4-python/#section1

我下载的文件,并没有问题,打开该文件。您应该使用的方法在回答你刚才的问题https://stackoverflow.com/a/44622713/1211981

更新: 转到:

http://meop40.troja.mff.cuni.cz:11180/gw.projekt/data.stratopauza/netcdf.profily/

单击一个或多个链接,并保存到一个文件夹中,你会遇到你的脚本。改变你的脚本或Python命令:

>>> url = 'atmPrf_C001.2010.227.00.03.G04_2013.3520_nc' 
>>> nc = netCDF4.Dataset(url) 

netCDF4.Dataset()将采取的URL或本地文件名和工作方式相同。在这种情况下,它会将该文件识别为兼容NetCDF/OPeNDAP。

+0

而你下载它后,你把它放在哪里?我不知道我是否做得对,或者你能否显示该代码。我非常绝望。 – Leif

+1

查看我对原始答案的更新。 –

+0

回溯(最近通话最后一个): 文件 “”,1号线,在 文件 “netCDF4 \ _netCDF4.pyx”,线1811,在netCDF4._netCDF4.Dataset .__ init__(netCDF4 \ _netCDF4.c:12626) IOError:没有这样的文件或目录我每次都得到这个。我试图从URL中读取它,并使它工作。每次我使用数据集时,都会以某种方式发生错误。但是,感谢您的编辑。 – Leif