我想通过netCDF4(使用conda)读取.nc文件,但我的文件看起来 像这样: something.3520_nc
如何处理这个问题,它还是.nc文件吗?我应该重命名吗?或者在我下载之后,将它保存在某个特殊的地方是否重要?
任何人都可以告诉我,如何开始代码?我找到了一些关于这个问题的网页,但它对我不起作用。我有使用my_root环境的Windows 10,conda,我有netCDF4包。
我试着写:
from netCDF4 import Dataset
import numpy as np
f = Dataset('test.nc')
我被建议使用而不是numpy pylab,但我没有那个包,我不知道,如何安装它。我最挣扎的是第三行,因为我访问过的每一页都用不同的方式写了。
我的问题可能很复杂,我承认我对Python有一点经验。
答案 0 :(得分:2)
如果你去查看你的包的documentation,你会发现一个有用的页面here。
所以你找到了
静态方法
def __init __(self,filename,mode =“r”,clobber = True,diskless = False,persist = False,keepweakref = False,format ='NETCDF4') 数据集构造函数。
它需要这些参数。我只把重要的东西放在这里。请阅读剩下的页面
filename:要保存数据集的netCDF文件的名称。也可以是python 3 pathlib实例或OpenDAP数据集的URL。
格式:底层文件格式('NETCDF4','NETCDF4_CLASSIC','NETCDF3_CLASSIC','NETCDF3_64BIT_OFFSET'或'NETCDF3_64BIT_DATA'之一。仅在mode ='w'时相关(如果mode = 'r','a'或'r +'自动检测文件格式。默认'NETCDF4',表示数据存储在HDF5文件中,使用netCDF 4 API功能。设置format ='NETCDF4_CLASSIC'将创建一个HDF5文件,仅使用netCDF 3兼容的API功能.netCDF 3客户端必须重新编译并链接到netCDF 4库以读取NETCDF4_CLASSIC格式的文件.'NETCDF3_CLASSIC'是经典的netCDF 3文件格式,不处理2+ Gb文件。 'NETCDF3_64BIT_OFFSET'是netCDF 3文件格式的64位偏移版本,完全支持2 GB以上文件,但仅与netCDF 3.6.0或更高版本链接的客户端兼容.'NETCDF3_64BIT_DATA'是64位数据netCDF 3文件格式的版本,它支持64位维度大小加上无符号和64位int eger数据类型,但仅与netCDF版本4.4.0或更高版本链接的客户端兼容。
那么,这是什么意思。
您需要确定使用的格式。如果您使用NETCDF4
,则可以忽略此项,但如果不是,则需要指定格式。
您需要确保传递的文件路径有效。要做到这一点,请尝试通过在与现有代码相同的目录中创建一个文件来测试此测试,并希望您的数据
<强> test_file.py 强>
import os
# this gets your current working directory, that is from the perspective of the module that you are running.
where_am_i = os.getcwd()
print(where_am_i)
my_file = "something.3520_nc"
if os.path.exists(my_file):
print("Yep, I can read that file!")
else:
print("Nope, the path doesn't reach your file. Go research filepath in python")
my_new_path = os.path.join('/the/absolute/path/to/file', my_file)
if os.path.exists(my_new_path):
print("Yep, I can read that file!")
else:
print("Nope, the path doesn't reach your file. Go research filepath in python")