如何使用python xarray从单个NetCDF .nc文件导入多个表?

问题描述 投票:-1回答:1

我在netcdf .nc文件和.wls文件中都有一个数据集。我可以打开.wls文件,并使用文本编辑器进行查看。数据集包含大量的元数据和几个表。我了解python xarray是为与netcdf文件一起使用而创建的,但是当我尝试将此文件作为python xarray数据集导入时,仅导入了其中一个表。

此信息是从文本文件复制的。每个表都以%TableEnd:结尾,因此我认为导入到此结束。我的大部分数据都保存在.nc文件中,因此无法手动编辑文本文件。

%CTF: 1.00
%FileType: WVMD WVM9 "Wave History"
%UUID: 1E9EBB39-F35C-4E9B-8C4C-72945FFEA5D9
%Manufacturer: CODAR Ocean Sensors. SeaSonde
...
(trimmed for clarity)
...
%TableType: WAVL WVM9
%TableColumns: 20
%TableColumnTypes: TIME MWHT MWPD WAVB WNDB PMWH ACNT DIST RCLL WDPT MTHD FLAG WHNM WHSD TYRS TMON TDAY THRS TMIN TSEC 
%TableRows: 4459
%TableStart:
%%     Time     ----------Wave----------    Wind    WaveNF                                                             Height    Height                        
%%   FromStart   Height  Period   From      From    Height   Spectra   Distance   Range   Doppler    Wave    Vector    Valid      StdDv    Time                
%%   (seconds)     (m)     (s)   (True)    (True)     (m)     count      (km)      cell     bins    Method    Flag     points      (m)     Year Mo Dy  Hr Mn  S
             0      1.21   5.75    19.0     77.3      0.19        7    9.06088        3       20        2        0          4      0.19    2019 10 01  00 00 00
           600      1.16   5.60    17.5     75.2      0.19        7    9.06088        3       20        2        0          5      0.20    2019 10 01  00 10 00
          1200      1.16   5.60    17.5     75.2      0.19        7    9.06088        3       20        2        0          5      0.20    2019 10 01  00 20 00

...
...
       2677200      2.41   7.00   101.0    217.0      0.20        7    9.06088        3       26        2        0          5      0.13    2019 10 31  23 40 00
       2677800      2.37   7.00   101.0    217.0      0.21        7    9.06088        3       26        2        0          5      0.09    2019 10 31  23 50 00
%TableEnd:
%%
%Distance: 12.08117 km
%RangeCell: 4
%TableType: WAVL WVM9
%TableColumns: 20
%TableColumnTypes: TIME MWHT MWPD WAVB WNDB PMWH ACNT DIST RCLL WDPT MTHD FLAG WHNM WHSD TYRS TMON TDAY THRS TMIN TSEC 
%TableRows: 4459
%TableStart: 2
%%     Time     ----------Wave----------    Wind    WaveNF                                                             Height    Height                        
%%   FromStart   Height  Period   From      From    Height   Spectra   Distance   Range   Doppler    Wave    Vector    Valid      StdDv    Time                
%%   (seconds)     (m)     (s)   (True)    (True)     (m)     count      (km)      cell     bins    Method    Flag     points      (m)     Year Mo Dy  Hr Mn  S
             0    999.00 999.00     0.0     67.0      0.18        7   12.08117        4       19        2       64          0      0.00    2019 10 01  00 00 00
...
...

这里是我尝试过的xarray代码。应该有7个表的4459值。

import xarray as xr

ds = xr.open_dataset('filename.nc')
ds.sizes

Output:
Frozen(SortedKeysDict({'time': 4459}))
python netcdf python-xarray
1个回答
0
投票

我的问题的答案是两个文件不同。 .nc文件不包含与txt文件相同的信息。

© www.soinside.com 2019 - 2024. All rights reserved.