NCCSV - 国家妇女研究中心
页:1NetCDF- 兼容的 ASCII CSV 文件规格, 第1.10号版本
鲍勃·西蒙斯和史蒂夫·汉金 鲍勃·西蒙斯的"NCCSV"和史蒂夫·汉金的执照CC BY 4.0 (英语).
导言
此文档指定 ASCII CSV 文本文件格式, 其中可以包含全部信息 (元数据和数据) 可见于NetCDF .nc包含类似 CSV 文件的数据表格的文件。 遵循此规格的 ASCII CSV 文本文件的文件扩展名必须是 .csv , 这样它就可以轻松和正确地读入Excel 和 Google 工作表等电子表格程序. Bob Simons将编写软件,将 NCCSV 文件转换为NetCDF- 3号 (也许还有NetCDF-4号) .nc文档,反之,不丢失信息。 鲍勃・西蒙斯已经修改了ERDDAP™支持读写此类型文件。
NCCSV格式的设计使得Excel和Google Sheets等电子表格软件能够将NCCSV文件导入为csv文件,电子表格单元格中的所有信息都准备好进行编辑. 或者,可以在NCCSV公约之后从零开始创建电子表格. 无论电子表格的来源如何,如果它随后作为.csv文件导出,它将符合NCCSV的规格,不会丢失任何信息。 NCCSV文件与遵循这些惯例的类似电子表格文件之间唯一的区别是:
- NCCSV文件在以逗号分隔的行上有值. 电子表格在相邻单元格的一行中有值。
- NCCSV文件中的字符串经常被双引号包围. 电子表格中的字符串从未被双引号包围 。
- 内部双引号 (" , ") 在NCCSV文件中的字符串中,以2个双引号出现。 电子表格中的内部双引号为1双引号.
见电子表格详情见下文。
可流性
像一般的CSV文件一样,NCCSV文件是可流的. 因此,如果NCSV由数据服务器在飞行中生成,例如:ERDDAP™,服务器可以在全部数据采集到之前开始将数据流到请求者. 这是一个有益和可取的特点。NetCDF相对地,文件是不可流的。
ERDDAP™
这个规格的设计是为了让 NCCSV 文件及.nc从它们可以创建的文件可以被一个ERDDAP™数据服务器 (通过来自 Nccsv 文件的 EDD 表格和来自 NcFiles 的 EDD 表格数据集类型) ,但此规格是外部ERDDAP。 。 。 。ERDDAP™具有若干必要的全球属性和许多推荐的全球性和可变属性,大多基于CF和ACDD属性(见 /docs/server-admin/数据集#全球属性) (中文(简体) ).
余额
NCCSV格式的设计是几项要求的平衡:
- 文件必须包含表格中的所有数据和元数据NetCDF文件,包括具体的数据类型。
- 文件必须能够读入并写出电子表格,而不丢失信息。
- 文件必须便于人类创建,编辑,阅读和理解.
- 文件必须能够由计算机程序清晰地解析.
如果本文件中的某些要求似乎奇怪或挑剔,可能需要满足其中的一项要求。
其他规格
这个规格是指它设计用来配合的几个其他规格和库,但是这个规格不是其他规格的一部分,也不需要修改,也不与它们冲突. 如果此处没有具体说明 与这些标准之一有关的细节,请参见相关规格。 特别是,这包括:
- 数据集发现属性公约 (APDD) 元数据标准 : https://wiki.esipfed.org/Attribute\_Convention\_for\_Data\_Discovery\_1-3 。 。 。 。
- 气候与预测 (CF 数字) 元数据标准 : https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html 。 。 。 。
- 那个NetCDF用户指南 (努格语) 数字 : https:///docs.unidata.ucar.edu/netcdf-java/current/userguide/index.html 。 。 。 。
- 那个NetCDF软件库NetCDF-贾瓦和NetCDF-c: (英语). https://www.unidata.ucar.edu/software/netcdf/ 。 。 。 这些库不能读取 NCCSV 文件, 但可以读取.nc从 NCCSV 文件创建的文件。
- 乔森: https://www.json.org/
标记
在这一规格中,括号中,\[ \],表示可选项目。
文件结构
一个完整的NCCSV文件包含两个部分:元数据部分,然后是数据部分.
NCCSV文件只必须包含7位的ASCII字符. 因此,用于写入和读取文件的字符集或编码可能是任何与7位的ASCII字符集兼容的字符集或编码,例如ISO-8859-1.ERDDAP™用 ISO-8859-1 字符集读写 NCCSV 文件。
NCCSV 文件可能使用新线 (\n) (这在 Linux 和 Mac OS X 计算机上很常见) 或车厢 返回加新线 (\r\n) (这在 Windows 计算机上很常见) 作为终点标记,但不是两者兼有。
.nccsv元数据
当创建者和读者都期待它时,对仅包含元数据的NCCSV文件做一个变体也是可能的,有时也是有用的. (包括项目\*厄立特里亚\*线条) 。 。 。 结果是完整描述文件的属性,可变名称,和数据类型,因此与.das加.dds的响应具有相同的目的.das.OPeNDAP服务器。ERDDAP™如果您请求文件, 将返回此变量 类型=.nccsv元数据来源于 aERDDAP™数据集。
元数据科
在NCCSV文件中,元数据段的每行使用格式
变量 名称, (中文).属性 名称, (中文).数值1\[值2\]\[值3\]\[值 4\]\[. . ....\]
不允许在项目之前或之后设置空格,因为它们在将文件导入电子表格程序时造成问题。
公约
NCCSV文件的第一行是元数据的第一行,必须有一个\全球\公约将列出文件中用作字符串的所有公约,其中包含CSV列表,例如: \*全球\*公约,"COARDS页:1 所列公约之一必须是NCCSV-1.1,它指的是这一规格的现有版本。
END_气象卫星
NCCSV 文件的元数据部分的结尾必须用只包含 \厄立特里亚\
建议但不要求某一变量的所有属性出现在元数据部分的相邻线上。 如果将 NCCSV 文件转换为NetCDF文件,变量名称在元数据部分中首次出现的顺序将是变量在NetCDF文档。
元数据区间允许在所要求的第一行之后使用可选的空白行\全球\ 公约资料 (见下文) ,在所需的最后一行与\厄立特里亚\。 。 。 。
如果从NCCSV文件中创建电子表格,则元数据部分将会出现A栏的变量名称,B栏的属性名称,C栏的值.
如果这些常规之后的电子表格被保存为 CSV 文件,那么元数据部分的行尾往往会有额外的逗号. 将 NCCSV 文件转换为.nc文件会忽略额外的逗号 。
变量 名称
变量 名称 是数据文件中变量的大小写名称。 所有可变名称都必须从一个7位的ASCII字母或下划线开始,并由7位的ASCII字母,下划线,和7位的ASCII数字组成.
全球
特殊变量Name\全球\用于表示全球元数据。
属性 名称
属性 名称 是一个变量或\全球\。 。 。 所有属性名称都必须从一个7位的ASCII字母或下划线开始,并由7位的ASCII字母,下划线,和7位的ASCII数字组成.
索马里
特殊属性 名称\*索马里\*可用于创建scalar数据变量并定义其值. 数据类型\*索马里\*定义变量的数据类型,所以不指定\*数据类型\*参数。 注意NCCSV文件中的数据部分中一定没有关于scalar变量的数据.
例如,要创建一个名为"船"的Scalar变量,其值为"Okeanos Explorer"和cf\_role属性,使用: 飞船,\索马里\"奥基亚诺斯探险家" 飞船,cf\_role,弹射\_id 当一个刻度数据变量读入ERDDAP™中,将标定值转换成数据表中每行数值相同的一列。
价值
价值 是元数据属性的值,必须是一个数组,其中一个或多个字节、ubyte、short、ushort、int、uint、Long、ulong、fload、nople、String或char。 不支持其他数据类型。 无值属性将被忽略 。 如果有多个子值,则子值必须全部为同一个数据类型,并以逗号分隔,例如: sst, (中文).actual\_range.0.17f,23.58f (单位:千美元) 如果有多个字符串值,请使用一个字符串\n (新线) 字符分隔子字符串。
属性数据类型的定义是: