diff --git a/xarray/core/indexes.py b/xarray/core/indexes.py index e71c4a6f073..a005e1ebfe2 100644 --- a/xarray/core/indexes.py +++ b/xarray/core/indexes.py @@ -632,7 +632,8 @@ def from_variables( # the checks below. # preserve wrapped pd.Index (if any) - data = getattr(var._data, "array", var.data) + # accessing `.data` can load data from disk, so we only access if needed + data = getattr(var._data, "array") if hasattr(var._data, "array") else var.data # multi-index level variable: get level index if isinstance(var._data, PandasMultiIndexingAdapter): level = var._data.level