【问题标题】:How to add a physical file path to os.path.join?如何将物理文件路径添加到 os.path.join?
【发布时间】:2019-09-01 13:12:11
【问题描述】:

我是 Python 和 Jupyter 笔记本的初学者, 我正在尝试使用 Cartopy 绘制从 NOAA 获得的数据。 我得到了如下代码, 我遇到的问题是“os.path.join”部分, 因为我的数据集保存在我的便携式光盘中。 我尝试使用物理路径并将其添加到我找到的代码中。 但它向我显示了“KeyError:'/Elements'” 物理路径是: "/Elements/Capstone_Project_Data/NOAA/air.mon.amon.nc"

代码如下: 任何建议和帮助将不胜感激。 非常感谢!

import os
import matplotlib.pyplot as plt
from netCDF4 import Dataset as netcdf_dataset
import numpy as np

from cartopy import config
import cartopy.crs as ccrs


# get the path of the file. It can be found in the repo data directory.
fname = os.path.join(config["/Elements"],'/Capstone_Project_Data','/NOAA',
                     #'/Elements','/Capstone_Project_Data','/NOAA',
                     'air.mon.amon.nc'
                     )

dataset = netcdf_dataset(fname)
sst = dataset.variables['sst'][0, :, :]
lats = dataset.variables['lat'][:]
lons = dataset.variables['lon'][:]

ax = plt.axes(projection=ccrs.PlateCarree())

plt.contourf(lons, lats, sst, 60,
             transform=ccrs.PlateCarree())

ax.coastlines()

plt.show()

【问题讨论】:

    标签: jupyter-notebook cartopy


    【解决方案1】:

    您似乎正在尝试改编 Cartopy 文档中的这个示例? https://scitools.org.uk/cartopy/docs/latest/matplotlib/advanced_plotting.html?highlight=config#contour-plots

    在该示例中,Cartopy 的config 字典用于确定某些标准样本数据的位置。如果您提供自己的数据,则根本不需要使用config 字典,您可以直接指定文件的路径,您甚至可能根本不需要os.path.join

    # Correct this if your path is different
    fname = "/Elements/Capstone_Project_Data/NOAA/air.mon.mean.nc"
    dataset = netcdf_dataset(fname)
    

    (请注意,如果您使用os.path.join,它将为您插入/,因此他们不需要为每个元素添加前缀。)

    该示例的其余部分可能不起作用,因为它在编写时正在 netcdf 文件中查找 sst 变量,因此您必须更改它以从文件中加载您感兴趣的变量。

    【讨论】:

    • 非常感谢!!但这仍然给我带来了错误:没有这样的文件或目录。我尝试了另一个类似的方法:fname = open('Volumes/Elements/Capstone_Project_Data/NOAA/air.mon.mean.nc', 'r'),也没有运气。
    • 嗯,这只是意味着您的计算机上该位置没有文件。您需要提供计算机上文件所在位置的路径。
    • 谢谢@ajdawson,我发现之前读取文件后由于某些原因文件消失了。我现在修好了。赞赏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    相关资源
    最近更新 更多