メインコンテンツへスキップ

NCCSV -

ツイートNetCDF-多用性があるASCII CSVファイル指定、 バージョン1.10

ボブ・サイモンとスティーブ・ハンキン ボブ・サイモンとスティーブ・ハンキンによる「NCCSV」のライセンス取得CC によって 4.0

導入事例

このドキュメントでは、すべての情報を含むことができる ASCII CSV テキストファイルフォーマットを指定します。 (メタデータとデータ) それは見つけることができますNetCDF .ncデータの CSV ファイルのようなテーブルを含むファイル。 この仕様に従う ASCII CSV テキストファイルの拡張子は .csv でなければならず、Excel や Google Sheets などのスプレッドシートプログラムに簡単に正しく読み込むことができます。 ボブサイモンは、NCCSVファイルをNCCSVファイルに変換するソフトウェアを書き込みますNetCDF3 (そして多分またaNetCDF-4) .nc情報を失うことなく、ファイルと逆。 ボブ・シモンズが修正ERDDAP™読み込みをサポートし、このタイプのファイルを書き込みます。

NCCSV 形式は、Excel や Google Sheets などのスプレッドシートソフトウェアが csv ファイルとして NCCSV ファイルをインポートできるように設計されており、スプレッドシートのセル内のすべての情報を編集する準備ができています。 または、NCCSV の規則に従ってスクラッチからスプレッドシートを作成できます。 スプレッドシートのソースに関係なく、.csvファイルとしてエクスポートされている場合は、NCCSV仕様に準拠し、情報を失うことはありません。 NCCSVファイルとこれらの規則に従うアナログスプレッドシートファイルの違いは、次のとおりです。

  • NCCSVファイルには、コンマで区切る線上の値があります。 スプレッドシートは、隣接するセルのラインに値があります。
  • NCCSVファイルの文字列は、二重引用符で囲まれています。 スプレッドシートの文字列は、二重引用符で囲むことはありません。
  • 内部二重引用符 (ツイート) NCCSVファイルの文字列は2つのダブルクォートとして表示されます。 スプレッドシート内の内部ダブルクォートは1つのダブルクォートとして表示されます。

詳細はこちらスプレッドシート詳細については、以下のセクションを参照してください。

ストリーミング可能

一般的なCSVファイルと同様に、NCCSVファイルはストリーム可能です。 そのため、NCSV がデータサーバで生成される場合などERDDAP™サーバは、すべてのデータが収集される前に、リクエスト者にデータをストリーミングを開始できます。 これは、便利で望ましい機能です。NetCDF対照的に、ファイルはストリーミングできません。

ERDDAP™

この仕様はNCCSVファイルやNCCSVファイルなど、.ncそれらから作成できるファイルは、ERDDAP™データサーバ (お問い合わせEDDTableFromNccsvファイルそして、EDDTableFromNcFiles (EDDTableFromNcFiles) は、データセットの種類) この仕様は外部からERDDAPお問い合わせERDDAP™CF と ACDD 属性に基づいて、複数のグローバル 属性と多くの推奨グローバル および変数 属性を持つ (参照) /docs/server-admin/datasets#global-attributes)。

バランス

NCCSVフォーマットの設計は、いくつかの要件の残高です。

  • ファイルがすべてのデータとメタデータを含む必要があります。NetCDF特定のデータタイプを含むファイル。
  • ファイルは、情報を失うことなく、スプレッドシートから読み込むことができなければなりません。
  • ファイルは人間が作成し、編集し、読み、理解しやすくなります。
  • ファイルは、コンピュータプログラムによってunambiguously解析することができる必要があります。

このドキュメントのいくつかの要件がオッディまたはピッピーと思われる場合は、これらの要件のいずれかを満たす必要があります。

その他の仕様

この仕様は、動作するように設計されている他のいくつかの仕様とライブラリを参照しますが、この仕様は、それらの他の仕様の一部ではありません。また、それはそれらへの変更を必要としません。また、それらと競合しません。 これらの基準の1つに関する詳細がここに指定されていない場合は、関連する仕様を参照してください。 特に、以下が含まれます:

インフォメーション

この指定では、ブラケット、\[ \]任意項目を記述して下さい。

ファイル構造

完全なNCCSVファイルは、2つのセクションで構成されます:メタデータセクション、続いてデータセクション。

NCCSVファイルには7ビットのASCII文字のみが含まれている必要があります。 そのため、ファイルを書くために使用される文字セットまたはエンコーディングは、7ビットのASCII文字セットと互換性のある文字セットまたはエンコーディングであってもよいです。ERDDAP™ISO-8859-1 charset で NCCSV ファイルを読み書きします。

NCCSVファイルは、新しい行のいずれかを使用する可能性があります (\n) (Linux と Mac OS X コンピュータで共通) またはキャリッジリターンプラスニューライン (\r\n) (Windowsコンピュータで共通) エンド・オブ・ライン・マーカーではなく、両方。

.nccsvメタデータ

作成者と読者の両方が期待していると、メタデータセクションだけを含むNCCSVファイルの種類を作ることも可能であり、時には便利です。 (含めて\*END\_メタダ\*ライン) お問い合わせ 結果は、ファイルの属性、変数名、およびデータ型の完全な説明を提供し、 .das と .dds の応答と同じ目的をOPeNDAPサーバ。ERDDAP™リクエストファイルの場合、このバリエーションを返す タイプ=.nccsvメタデータからERDDAP™データセット。

メタデータセクション

NCCSVファイルでは、メタデータセクションの各行がフォーマットを使用する 変数 お名前 (必須),属性属性 お名前 (必須),値1\[,値2\]\[,値3\]\[,値4\]\[・・・\]
スプレッドシートプログラムにファイルをインポートする際に問題を引き起こすため、アイテムの前後にスペースが許可されていません。

コンベンション

NCCSVファイルの最初の行は、メタデータセクションの最初の行であり、\グローバル\たとえば、CSV リストを含む文字列としてファイルで使用されるすべての慣行を、Conferences 属性にリストします。 \グローバル\,発明,"COARDS、CF-1.6、ACDD-1.3、NCCSV-1.1」 リストされている慣行の1つは、NCCSV-1.1で、この仕様の現在のバージョンを参照する必要があります。

END_メタダタ

NCCSVファイルのメタデータセクションの終端は、行のみで示さなければならない \END\_メタダ\

メタデータのセクションの隣接する行に、指定した変数の属性の全てが現れることを推奨します。 NCCSVファイルが変換される場合NetCDFfile は、変数名が最初にメタデータセクションに表示された順番が変数の順番になります。NetCDFファイル。

オプションの空白行は、必要な最初の行の後にメタデータセクションで許可されます。\グローバル\ コンベンションインフォメーション (詳しくはこちら) 必要な最後の行の前に\*END\_メタダ\*お問い合わせ

スプレッドシートがNCCSVファイルから作成されると、カラムAの変数名、B列の属性名、C列の値が表示されます。

これらの慣習に従うスプレッドシートがCSVファイルとして保存されている場合は、メタデータセクションの行の最後に追加のコンマがしばしばあります。 NCCSVファイルを変換するソフトウェア.nc追加のコンマを無視します。

変数 お名前 (必須)

変数 お名前 (必須) データファイルの変数の case-pathy 名です。 すべての変数名は、7ビットのASCII文字またはアンダースコアで始まり、7ビットのASCII文字、アンダースコア、7ビットのASCII数字で構成されていなければなりません。

グローバル

特別な変数名\グローバル\グローバルなメタデータを記述するために使用されます。

属性属性 お名前 (必須)

属性属性 お名前 (必須) 変数に関連付けられた属性の case-pathy 名または\グローバル\お問い合わせ すべての属性名は、7ビットのASCII文字またはアンダースコアで始まり、7ビットのASCII文字、アンダースコア、7ビットのASCII文字で構成されていなければなりません。

スカラ

特別な属性 お名前 (必須)\*スカラ\*scalar データ変数を作成し、その値を定義するために使用することができます。 データの種類\*スカラ\*変数のデータ型を定義するので、指定しない\*データシート\*scalar 変数の属性。 NCCSVファイルのデータセクションでは、スカラー変数のデータがないことに注意してください。

例えば、"ship" という名前のスカラー変数を "Okeanos Explorer" と cf\_role 属性で作成するには、次のようにします。 船,\スカラ\,「オカノスエクスプローラー」 船,cf\_role,trajectory\_id scalar データ変数が読み込まれるときERDDAP™, scalar は、すべての行に同じ値を持つデータテーブルの列に変換されます。

バリュー

バリュー メタデータ属性の値は、バイト、ubyte、ショート、ushort、int、uint、long、ulong、float、double、string、charのいずれかの1つ以上の配列でなければなりません。 他のデータ型はサポートされていません。 値のない属性は無視されます。 サブ値が1つ以上ある場合、サブ値はすべて同じデータタイプであり、コンマで区切る必要があります。例えば: sst,actual\_range,0.17f,23.58f 複数の文字列の値がある場合、単一の文字列を単一の文字列で使用します。\n (ニューライン) サブ文字列を分離する文字。

属性データ型の定義は次のとおりです。

バイト

  • バイト属性の値 (8ビット、署名) suffix 'b'、例えば、-7b、0b、7b で記述する必要があります。 有効なバイト値の範囲は -128 から 127 です。 バイトのように見える数字が無効です (例:128b) 不足している値に変換したり、エラーメッセージを生成したりします。

uバイト

  • ubyte 属性値 (8ビット、符号なし) suffix 'ub', 例えば, 0ub, 7ub, 250ub で記述する必要があります。 有効なバイト値の範囲は 0 から 255 です。 uバイトのように見える数字が無効です (例:256ub) 不足している値に変換したり、エラーメッセージを生成したりします。 可能であれば、ubyte ではなくバイトを使うと、多くのシステムが署名されていないバイトをサポートしないため (例: 属性NetCDF-3 ファイル) お問い合わせ

ショート

  • 短い属性値 (16ビット、署名) suffix の 's'、例えば、-30000s、0s、30000s で記述する必要があります。 有効な短い値の範囲は-32768 から 32767 です。 短く見えるが無効な数字 (例: 32768s) 不足している値に変換したり、エラーメッセージを生成したりします。  

ushortショート

  • ushort属性値 (16ビット、符号なし) suffix 'us'、例えば、0us、30000us、60000us で記述する必要があります。 有効な短い値の範囲は 0 から 65535 です。 ushort のように見える数字が無効です (例:65536us) 不足している値に変換したり、エラーメッセージを生成したりします。 可能であれば、ushort の代わりにショートを使うと、多くのシステムが署名されていないバイトをサポートしないため (例: 属性NetCDF-3 ファイル) お問い合わせ  

ログイン

  • int 属性値 (32ビット、署名) JSON は、小数点や指数関数なしで JSON のインッツとして書かれている必要があります。, 例えば -12067978i, 0i, 12067978i. 有効な int 値の範囲は -2147483648 から 2147483647 です。 int のように見える数字が無効 (例:2147483648i) 不足している値に変換したり、エラーメッセージを生成したりします。  

ログイン

  • uint 属性値 (32ビット、符号なし) JSON は、小数点や指数関数を使わずに JSON の ints として記述する必要がありますが、 suffix 'ui' では、 0ui 、12067978ui、4123456789ui など。 有効な int 値の範囲は 0 から 4294967295 です。 uint のように見える数字が無効です (例:2147483648ui) 不足している値に変換したり、エラーメッセージを生成したりします。 可能であれば、uint ではなく int を使うと、多くのシステムが署名されていないバイトをサポートしないため (例: 属性NetCDF-3 ファイル) お問い合わせ  

ロング

  • 長い属性値 (64ビット、署名済み、現在NUGおよびERDDAP™CFではまだサポートされていない) 12345678987654321L、0L、12345678987654321L 等、suffix 'L' と記述されなければなりません。 変換ソフトウェアを使用して、長い値でNCCSVファイルを変換するNetCDF-3 ファイル、任意の長い値が二重値に変換されます。 有効な長い価値の範囲は-9223372036854775808への9223372036854775807です。 長く見えるが無効な数字 (例:9223372036854775808L) 不足している値に変換したり、エラーメッセージを生成したりします。 可能であれば、ulongの代わりに2倍を使うと、多くのシステムが長くサポートしないため (例:NetCDF-3 ファイル) お問い合わせ  

ログイン

  • ulong属性値 (64ビット、符号なし、現在 NUG がサポートERDDAP™CFではまだサポートされていない) 12345678987654321uL、9007199254740992uL など、小数点と小数点で記述する必要があります。 変換ソフトウェアを使用して、長い値でNCCSVファイルを変換するNetCDF-3 ファイル、任意の長い値が二重値に変換されます。 有効な長い値の範囲は 0 から 18446744073709551615 です。 龍のように見える数字が無効です (例: 18446744073709551616uL) 不足している値に変換したり、エラーメッセージを生成したりします。 可能であれば、ulongの代わりに2倍を使うと、多くのシステムが署名または符号なしの長いサポートがないので (例:NetCDF-3 ファイル) お問い合わせ  

フローティング

  • float 属性値 (32ビット) suffix 'f' で書かれている必要があります。小数点と/または指数関数、例えば 0f、1f、12.34f、1e12f、1e12f、1.23e+12f、1.23e12f、1.87E-7f を持っているかもしれません。 NaNf を使ってフロート NaN (行方不明) 値。 浮動小数点数は約 +/-3.40282347E+38f (〜7 重要な小数桁) お問い合わせ フロートのように見える数字が無効です (例:1.0e39f) 不足している値に変換したり、エラーメッセージを生成したりします。  

ダブル

  • 二重属性値 (64ビット) suffix 'd' で書かれている必要があります。小数点と/または指数関数、例えば 0d、1d、12.34d、1e12d、1e12d、1.23e+12d、1.23e12d、1.87E-7d を持っているかもしれません。 NaNd を 2 回使用 (行方不明) 値。 倍の範囲はおよそ+/-1.79769313486231570E+308dです (~15 重要な小数桁) お問い合わせ ダブルのように見える数字が無効です (例:1.0e309d) 不足している値に変換したり、エラーメッセージを生成したりします。  

ストリング

  • 文字列属性の値が UCS-2 文字の配列です。 (例:2バイトのUnicode文字Java) 7ビットのASCII、JSON のような文字列で、ASCII 以外の文字を指定できるように記述する必要があります。
    • 二重引用符 (ツイート) 2つのダブルクォートとしてエンコードする必要があります (お問い合わせ) お問い合わせ これは、.csvファイルを読むときにスプレッドシートプログラムが必要とするものです。 これは、スプレッドシートを.csvファイルとして保存したときに、スプレッドシートプログラムが書き込まれるものです。
    • 特別なJSONバックスラッシュエンコード文字はJSONでエンコードする必要があります(notably)\n(newline)、\(backslash)、\f(formfeed)、\t(tab)、\r(キャリッジリターン)、またはメニュー ログイン 構文。 スプレッドシートでは、Alt Enter を使用してテキストセル内の新しい行を指定しません。代わりに、使用\n (2文字:バックスラッシュとn お問い合わせ) 新規行を表示する
uhhhh
  • メニュー hhhh - 文字#32以下、文字#26よりも大きいすべての文字で、それ以外の場合はエンコードされていない、構文\uでエンコードする必要があります hhhhhhhh は、文字の 4 桁の 16 進数です。例えば、ユーロ記号は \u20AC です。 参照されているコードページを参照してください。 https://en.wikipedia.org/wiki/Unicode 特定のUnicode文字に関連付けられている16進数の数字を見つけるか、ソフトウェアライブラリを使用してください。
  • 文字列が先頭または末尾にスペースがある場合、または " (二重引用符) またはコンマ、または他のデータ型として解釈される値を含む (例:イント) または "null" という単語で、文字列全体が二重引用符で囲まなければなりません。それ以外の場合は、JSON とは異なり、二重引用符を囲むこともできます。 推奨事項: 疑わしい場合は、ダブルクォートで文字列全体を囲みます。 文字列の先頭または末尾のスペースは強くお勧めします。
  • 今のところ、#255よりも大きい文字の使用は控えめです。 NCCSV対応ERDDAP™内部でサポートします。 出力ファイルの種類によっては、それらをサポートするものもあります。 (例:.jsonそして、.nccsv) お問い合わせ しかし、多くの出力ファイルタイプはサポートしていません。 例えば、NetCDF-3 ファイルはそのような文字をサポートしていませんNetCDFfile は 1 バイトの文字と CF を使用して、Unicode 文字がエンコードされているかを指定するシステムがありません。NetCDFストリング (例: UTF-8) お問い合わせ これはおそらく時間が経つにつれて改善されます。  

チャート

  • char 属性値は 1 つの UCS-2 文字です。 (例:2バイトのUnicode文字Java) つまり、7ビットのASCII、JSONのような文字で他の文字が指定できるように記述する必要があります。 (特別な文字のエンコーディングのために上記の文字列の定義を参照してください。単一の引用符を \ としてエンコーディングする追加 お問い合わせ) お問い合わせ 単一の引用符でChar属性値が封入されなければならない (内部の引用語句) 二重引用符 (外側の引用符) ,例えば, "'a'", "'"" (二重引用文字) , "\" , "\" , "\" , "\" , "\" , "\\" , "\\" , "\\" , "\\" , "\\" , "\" , "\" , "\" , "\\\" , "\\\" , "\" , "\\\\\\\\\" ," , "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ (単一の引用文字) , '' '' '' '' '' '' ' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' '' ' '' '' '' ' ''' ' ' ' ' ' '''' ' ' ' ' ' ' '' ' ' ''' ' '' ' ' ' ' ' ' ' ''' '''''''''' ' ' ' ' ' ' ''''''''' (タブ) , "\u20AC" (ユーロ文字) お問い合わせ シングルクォートとダブルクォートを使用するこのシステムは奇妙で面倒ですが、スプレッドシートで動作する文字列からchar値を区別する方法です。 char のように見えますが、無効な値でエラーメッセージが生成されます。 Strings と同様に、#255 よりも大きい文字の使用は現在無効です。

サフィックス

NCCSVファイルの属性セクションでは、すべての数値属性値がサフィックス文字を持っている必要があります。 (例:'b') 数値データ型を識別するため (例:バイト) お問い合わせ しかし、NCCSVファイルのデータセクションでは、数値データ値がこれらのサフィックスの文字を持たない必要があります (長い整数と 'uL' の例外を ulong 整数) — データ型は、\*データシート\*変数の属性。

データシート

各非のデータ型スカラー変数は変数によって指定されなければなりません\*データシート\*バイト、 uバイト、 ショート、 ushort、 uint、 uint、 uint、 long、 ulong、 float、double、 文字列、 char の値を持つことができる属性 (場合の無感覚) お問い合わせ 例えば、 qc\_flag,\データシート\,バイト 警告: 正しい指定\*データシート\*お問い合わせ 間違ったデータ型を指定する (例: フロートを指定する必要があるときの int) エラーメッセージが生成されず、情報が失われる可能性があります。 (例えば、フロート値がインツに丸められます) NCCSVファイルが読み込まれるときERDDAP™または変換するNetCDFファイル。

チャー・キュラージュ

char のデータ値の使用は、他のファイルタイプでは広くサポートされていないため、推奨されません。 char 値は、単一の文字または文字列としてデータセクションに記述することができます。 (特に、特別な文字を書く必要がある場合) お問い合わせ 文字列が見つかられば、文字列の最初の文字はchar の値として使用されます。 ゼロ長文字列と欠損値が文字\uFFに変換されます。 注意:NetCDFファイルが 1 バイトのchars のみをサポートするため、 chars が char #255 よりも大きい場合は '?' に変換されます。NetCDFファイル。 charset属性がcharset変数の異なるcharsetを指定するのに使われないと、ISO-8859-1 charsetが使用されます。

長いと無署名の議論

多くのファイルタイプが (例:NetCDF-4とjson) そして、ERDDAP™長く、署名されていないサポート (ubyte、ushort、uint、ulong) 値、NCCSV ファイルの長い値と符号なし値の使用は現在、Excel、CF でサポートされていないため、推奨されていません。NetCDF-3 ファイル。 NCCSVファイルで長い値や符号なし値を指定したい場合 (または対応するExcelスプレッドシートに) , あなたは、Excelがより低い精度でポイント番号を浮動小数点数として扱うことができないように、サフィックス'L'を使用する必要があります. 現在、NCCSVファイルが変換されている場合NetCDF3.ncファイル、長尺、高音のデータ値が二重値に変換され、非常に大きな値の精度の損失を引き起こします (-2^53 より長く、または 2^53 より長くおよび ulong よりより少し) お問い合わせ インスタグラムNetCDF3.ncfile, ubyte, ushort, uint 変数は、\_Unsigned=true メタデータ属性でバイト、ショート、およびint として表示されます。 インスタグラムNetCDF3.ncfile, ubyte, ushort, uint 属性は バイト, ショート, 対応する 2 の補完値を含む int 属性として表示されます。 (例えば、255ubは-1bとして表示されます) お問い合わせ これは明らかな問題です。そのため、署名されたデータタイプは、いつでも署名されていないデータタイプではなく使用すべきです。

CF、ACDDおよびERDDAP™メタデータ

ほとんどのNCCSVファイルやNCCSVファイルが想定されているため、.ncそれらから作成されるファイルは、ERDDAPNCCSVファイルには、要求されるメタデータ属性や推奨するメタデータ属性が含まれていることを強く推奨しています。ERDDAP™(参照) /docs/server-admin/datasets#global-attributes)。 属性は CF と ACDD のメタデータ規格からほとんどすべてで、適切にデータセットを記述する機能です。 (誰が、いつ、どこで、なぜ、どのように) それ以外の場合は、データセットについて何も知りません。 特に重要なのは、ほぼすべての数値変数は、単位属性を持つ必要があります。UDUNITS-互換性のある値、例えば、 sst,単位,度\_C

CF や ACDD 規格からない追加属性や、ERDDAPお問い合わせ

データセクション

コンテンツ

データセクションの最初の行は、変数名の case-pathy、comma-separated リストを持つ必要があります。 このリストのすべての変数はメタデータセクションで記述されなければなりません。 (その他\グローバル\属性と属性\スカラ\変数) お問い合わせ

データセクションのペナルティメート行を通した2つには、値のコンマ区切りリストが必要です。 データの各行は、変数名のコンマ区切りリストと同じ値でなければなりません。 スプレッドシートプログラムにファイルをインポートする際に問題を引き起こすため、値が前後するスペースは許可されていません。 このセクションの各列には、値のみが含まれている必要があります。\*データシート\*変数に指定された変数は、\*データシート\*その変数の属性。 属性セクションとは異なり、データセクションの数値は、データタイプを記述するために、サフィックス文字を持たない必要があります。 属性セクションとは異なり、データセクションの char 値 は、 意図しないと、単一の引用符を隠すことを省略できます。 (このように、',' と '' はここで示すように引用しなければなりません。) お問い合わせ NCCSVファイルには、これらのデータ行の任意の数があるかもしれませんが、現在ERDDAP™NCCSVファイルを最大約2億行で読み込むことができます。 一般的に、複数のNCCSVデータファイルに大きなデータセットを1万行未満で分割することをお勧めします。

END_DATA拡張子

データセクションの終了は、のみで行わなければならない \エンド\_DATA\

NCCSVファイル内に追加コンテンツがある場合\*エンド\_DATA\*行、NCCSVファイルが変換されると無視されます.ncファイル。 こういった内容が不測です。

これらの規約に従うスプレッドシートでは、変数名とデータ値が複数の列になります。 以下の例を参照してください。

価値の欠如

数値の欠損値は、数字で識別される数値として記述することができます。missing\_valueまたは \_FillValue の変数の属性。 たとえば、このデータ行の2番目の値を参照してください。 ベルM. 島田,99,123.4 これは、バイト、uバイト、ショート、ushort、int、uint、長い、およびulong変数の欠落した値を処理するための推奨方法です。

フロートまたはダブルNaNの値はNaNとして記述できます。 たとえば、このデータ行の2番目の値を参照してください。 ベル M. 島田,NaN,123.4

文字列と数値の行方不明値は空のフィールドで表示できます。 たとえば、このデータ行の2番目の値を参照してください。 ベルM. 島田,123.4

バイト、uバイト、ショート、ushort、int、uint、ロング、およびulong変数、NCCSVコンバーターユーティリティおよびERDDAP™空のフィールドを、そのデータタイプの最大許容値に変換します (例えば, 127 バイト) お問い合わせ これを行う場合は、必ず追加してください。missing\_valueまたは \_FillValue はその変数の属性で、この値を識別します。例えば、 変数 お名前 (必須) ,\_FillValue,127b フロートとダブル変数の場合、空のフィールドはNaNに変換されます。

DateTime 値

DateTime の値 (タイムコンポーネントを持たない日付値を含む) NCCSVファイル内の数値または文字列として表現できます。 指定した dateTime 変数は、両方ではなく、文字列値または数値値のみを持つことができます。 NCCSVソフトウェアは、文字列のdateTime値を数値日付に変換します 作成時の時間値.ncファイル (CFの要求に応じて) お問い合わせ 文字列 dateTime の値には、人間が読みやすくなる利点があります。

DateTime は数値として表される値は、" を指定する単位の属性を持つ必要があります。 ユニット お問い合わせ 新着情報 タイムタイム " CF で要求され、指定されるUDUNITS、例えば、 時間、単位、1970-01-01T00:00:00Z以来の秒

DateTime は、文字列の値として表される値が文字列を持っている必要があります\*データシート\*属性と日付を指定する単位属性 指定した時間パターンJavaDateTimeFormatter クラス ( https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html ) お問い合わせ 例えば、 時間、単位、yyyy-MM-dd'T'HH:mm:ssZの 指定したデータ変数の dateTime のすべての値は、同じ形式を使用する必要があります。 ほとんどの場合、unit 属性に必要な dateTime パターンは、これらのフォーマットの 1 つのバリエーションになります。

  • yyyy-MM-dd'T'HH:mm:ss. は、 ISO 8601:2004であるSSSZ (Eメール) 新着情報 時間フォーマット。 短縮版が必要な場合があります。yyyy-MM-dd'T'HH:mm:ssZの (推奨フォーマットのみ) またはyyyy-MM-ddお問い合わせ dateTime の値の形式を変更している場合は、NCCSV はこの形式に変更することを強くお勧めします。 (おそらく短縮される) お問い合わせ これはフォーマットですERDDAP™NCCSVファイルを書き込むときに使用します。
  • ISO 8601:2004日付のコンパクトなバージョンであるyyyMMddHHHmms.SSS 時間フォーマット。 つまり、yyyMMdd などの短縮版が必要な場合があります。
  • M・d・yyy H:mm:ss。 「3/23/2017 16:22:03.000」のようなUSスタイルの日付と日付時刻を処理するSSS —。 M/d/yyy などの短縮版が必要な場合があります。
  • yyyyddDHHmmsSSS - 年とゼロパッドの日 (例:001 = 1月1日、365 = 12月31日、非飛躍年。これは、ジュリアンの日付と呼ばれることもあります。) お問い合わせ つまり、yyyDDD などの短縮版が必要な場合があります。

精密加工

ソフトウェアライブラリが変換されるとき.ncNCCSVファイルへのファイル、すべての日付 時刻値はISO 8601:2004で文字列として記述されます。 (Eメール) 新着情報 時間フォーマット、例えば、1970-01-01T00:00:00Z。 精密を制御できますERDDAP-specific属性time\_precisionお問い合わせ お問い合わせ /docs/server-admin/datasets#time\_precisionお問い合わせ

タイムゾーン

日付のデフォルトのタイムゾーン 時間の値が、Zulu (またはGMT) 日光の節約の時間期間がないタイムゾーン。 dateTime 変数に異なるタイムゾーンから dateTime 値がある場合、これを指定する必要があります。ERDDAP-specific属性time\_zoneお問い合わせ これはのための条件ですERDDAP™(参照) /docs/server-admin/datasets#time\_zone)。

学位の価値

CFで要求されるように、すべての程度の価値 (例えば、経度と緯度のために) 度°min'sec 文字列ではなく、度、分、秒の別の変数として、小数度のダブル値として指定する必要があります。 方向設計者 N、S、E、W は許可されていません。 ウエストの経度と南緯度に負の値を使用します。

DSGについて 特徴のタイプ

NCCSVファイルにはCFディスクリートサンプリング幾何学が含まれる場合があります ( https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html#discrete-sampling-geometries ) データ。 この作業を行う属性です。

  1. CF で要求されるように、NCCSV ファイルがメタデータセクションの行を含める必要があります。\グローバル\ featureType属性、例えば、 \グローバル\,featureType、trajectory
  2. 使用のためERDDAP™, NCCSV ファイルが cf\_role=...\_id 変数を識別するメタデータセクションの行または行を含める必要があります。, 例えば, 船,cf\_role,trajectory\_id NCCSV では、CF はオプションです。
  3. 使用のためERDDAP™、NCCSV ファイルは、各 timeSeries、trajectory、または必要なプロファイルに関連付けられている変数を識別するメタデータセクションに行または行を含める必要があります。ERDDAP™(参照) /docs/server-admin/datasets#cdm\_data\_type)、例えば、 \グローバル\,cdm\_trajectory\_variables,"ship" または \グローバル\,cdm\_timeseries\_variables,"station\_id,lat,lon"

サンプルファイル

NCCSVファイルの多くの機能を示すサンプルファイルは次のとおりです。

\\*GLOBAL\\*,Conventions,"COARDS, CF-1.6, ACDD-1.3, NCCSV-1.1"
\\*GLOBAL\\*,cdm\\_trajectory\\_variables,"ship"
\\*GLOBAL\\*,creator\\_email,erd.data@noaa.gov
\\*GLOBAL\\*,creator\\_name,Bob Simons
\\*GLOBAL\\*,creator\\_type,person
\\*GLOBAL\\*,creator\\_url,https://www.pfeg.noaa.gov
\\*GLOBAL\\*,featureType,trajectory
\\*GLOBAL\\*,infoUrl,https://erddap.github.io/docs/user/nccsv-1.10
\\*GLOBAL\\*,institution,"NOAA NMFS SWFSC ERD, NOAA PMEL"
\\*GLOBAL\\*,license,"""NCCSV Demonstration"" by Bob Simons and Steve Hankin is
licensed under CC BY 4.0, https://creativecommons.org/licenses/by/4.0/ ."
\\*GLOBAL\\*,keywords,"NOAA, sea, ship, sst, surface, temperature, trajectory"
\\*GLOBAL\\*,standard\\_name\\_vocabulary,CF Standard Name Table v55
\\*GLOBAL\\*,subsetVariables,"ship"
\\*GLOBAL\\*,summary,"This is a paragraph or two describing the dataset."
\\*GLOBAL\\*,title,"NCCSV Demonstration"
ship,\\*DATA\\_TYPE\\*,String
ship,cf\\_role,trajectory\\_id
time,\\*DATA\\_TYPE\\*,String
time,standard\\_name,time
time,units,"yyyy-MM-dd'T'HH:mm:ssZ"
lat,\\*DATA\\_TYPE\\*,double
lat,units,degrees\\_north
lon,\\*DATA\\_TYPE\\*,double
"lon","units","degrees\\_east"
status,\\*DATA\\_TYPE\\*,char
status,comment,"From http://some.url.gov/someProjectDocument , Table C"
testByte,\\*DATA\\_TYPE\\*,byte
testByte,units,1
testUByte,\\*DATA\\_TYPE\\*,ubyte
testUByte,units,1
testLong,\\*DATA\\_TYPE\\*,long
testLong,units,1
testULong,\\*DATA\\_TYPE\\*,ulong
testULong,units,1
sst,\\*DATA\\_TYPE\\*,float
sst,standard\\_name,sea\\_surface\\_temperature
sst,actual\\_range,0.17f,23.58f
sst,units,degree\\_C
sst,missing\\_value,99f
sst,testBytes,-128b,0b,127b
sst,testShorts,-32768s,0s,32767s
sst,testInts,-2147483648i,0i,2147483647i
sst,testLongs,-9223372036854775808L,0L,9223372036854775807L
sst,testFloats,-3.40282347e38f,0f,3.40282347E+38f
sst,testDoubles,-1.79769313486231570e308d,0d,1.79769313486231570E+308d
sst,testChars,"','","'""'","'\\u20AC'"
sst,testStrings," a~,\\n'z""\\u20AC"
sst,testUBytes,0ub,127ub,255ub
sst,testUInts,0ui,2147483647ui,4294967295ui
sst,testULongs,0uL,9223372036854775807uL,18446744073709551615uL
sst,testUShorts,0us,32767us,65535us

\\*END\\_METADATA\\*
ship,time,lat,lon,status,testByte,testUByte,testLong,testULong,sst
Bell M. Shimada,2017-03-23T00:45:00Z,28.0002,-130.2576,A,-128, 0,-9223372036854775808L,0uL,10.9
Bell M. Shimada,2017-03-23T01:45:00Z,28.0003,-130.3472,\\u20AC,0,127,-9007199254740992L,9223372036854775807uL,10.0
"Bell M. Shimada","2017-03-23T02:45:00Z",28.0001,-130.4305,"'\\t'",126,254,9223372036854775806L,18446744073709551614uL,99
"Bell M. Shimada",2017-03-23T12:45:00Z,27.9998,-131.5578,"'""'",127,255,9223372036854775807L,18446744073709551615uL,NaN

注意:

  • このサンプルファイルには多くの難易度例が含まれています (例:char と long の変数と 難しい String の値) お問い合わせ ほとんどのNCCSVファイルはより簡単です。
  • ライセンスラインは2つの行に分けられますが、サンプルファイルの1行だけです。
  • \u20AC はユーロ文字のエンコーディングであり、\u00FC は ü のエンコーディングです。
  • 詳しくはこちら たとえば文字列は、タイトル、ロン単位属性、およびデータ3行を含む多くのグローバル属性がなくてもダブルクォートで囲まれています。)
  • testLong 変数のユニット属性が文字列の値であるというダブルクォートで書かれていたら、それはより明確で優れています。 しかし、現在の表現 (1、引用なし) "i' 接尾辞がないため、整数ではなく、文字列として正しく解釈されます。
  • 他の数値型とは異なり、データセクションの長い値はサフィックスを持っています (ツイート) 数値型を識別する。 スプレッドシートは、フローティングポイントの数値として値を解釈し、精度を失うことを防ぐ必要があります。

スプレッドシート

スプレッドシートでは、NCCSVファイルとして:

  • NCCSVファイルで指定した数値属性値を記述する (例: suffix 文字、 'f' など、属性のデータ型を識別する) お問い合わせ
  • 文字列では、すべての文字を ASCII 文字未満 #32 以上の文字を JSON のような バックスラッシュされた文字の 126 文字以下に書きます。 (例:\n新規登録) または16進数のUnicode文字数として (場合の無感覚) 構文を使ってメニュー ログイン (例:ユーロサイン用\u20AC) お問い合わせ 使用条件\n (2文字:バックスラッシュとn お問い合わせ) Alt Enterではなく、新しい行を表示する

NCCSVファイルとこれらの規則に従うアナログスプレッドシートの違いは、次のとおりです。

  • NCCSVファイルには、コンマで区切る線上の値があります。 スプレッドシートは、隣接するセルのラインに値があります。
  • NCCSVファイルの文字列は、二重引用符で囲まれています。 スプレッドシートの文字列は、二重引用符で囲むことはありません。
  • 内部二重引用符 (ツイート) NCCSVファイルの文字列は2つのダブルクォートとして表示されます。 スプレッドシート内の内部ダブルクォートは1つのダブルクォートとして表示されます。

これらの規約に従うスプレッドシートがCSVファイルとして保存されている場合は、多くの場合、多くの行の終了時に追加のコンマになります。 NCCSVファイルを変換するソフトウェア.nc追加のコンマを無視します。

メニュー

NCCSVファイルをExcelにインポートするには:

  1. ファイルを選択 : 開く .
  2. ファイルタイプをテキストファイルに変更する (\.prn;\.txt;\*.csv) お問い合わせ
  3. ディレクトリを検索し、NCCSV .csvファイルをクリックします。
  4. [開く] をクリックします。

ExcelスプレッドシートからNCCSVファイルを作成するには:

  1. ファイルを選択 : 保存 として .
  2. 保存をタイプとして変更: CSV に (コンマ区切り) (\*.csvの) お問い合わせ
  3. 互換性警告に対応するには、[はい] をクリックします。
  4. 結果の .csv ファイルには、CSV 行以外のすべての行の最後に追加のコンマがあります。 無視できます。

Excelでは、上記のサンプルNCCSVファイルがそのまま表示されます。

サンプルExcel.png

Googleのシート

NCCSVファイルをGoogleスプレッドシートにインポートするには:

  1. ファイルを選択 : 開く .
  2. ファイルをアップロードし、コンピュータからファイルをアップロードするをクリックします。 ファイルを選択し、[開く] をクリックします。

または、マイドライブを選択し、ファイルタイプをすべてのファイルタイプにドロップします。 ファイルを選択し、[開く] をクリックします。

GoogleスプレッドシートからNCCSVファイルを作成するには:

  1. ファイルを選択 : 保存 として .
  2. 保存をタイプとして変更: CSV に (コンマ区切り) (\*.csvの) お問い合わせ
  3. 互換性警告に対応するには、[はい] をクリックします。
  4. 結果の .csv ファイルには、CSV 行以外のすべての行の最後に追加のコンマがあります。 それらを無視します。

問題/学習

  • テキストエディタでNCCSVファイルを作成するか、スプレッドシートプログラムでアナログスプレッドシートを作成する場合は、テキストエディタまたはスプレッドシートプログラムがこれらの規則を正しくフォローしたことを確認しません。 これらの慣習を正しく守るためにあなた次第です。
  • この慣習をcsvファイルに追従するスプレッドシートの変換 (そのため、NCCSVファイル) CSV データ行以外のすべての行の最後に、追加のコンマが発生します。 それらを無視します。 ソフトウェアはNCCSVファイルを変換します.ncファイルが無視されます。
  • NCCSVファイルが行末にコンマが過剰な場合、NCCSVファイルをNCCSVファイルを変換して削除できます。NetCDFファイルを変換し、NetCDFNCCSVファイルに戻ります。
  • NCCSVファイルを変換しようとするとNetCDFファイル、ソフトウェアによってエラーが検出され、エラーメッセージが生成され、変換が失敗します。 他の問題は、キャッチしにくい、エラーメッセージや警告を生成しません。 その他の問題 (例:行末のコンマが過剰) 無視されます。 ファイルのコンバーターは、結果の正しさを最小限にチェックしますNetCDFCF のコンプライアンスに関してファイル、例えば。 変換の結果が希望どおり、正しいことを確認し、ファイル作成者の責任とファイルユーザの責任です。 確認する2つの方法は次のとおりです。

変更点

  • 変更点 v1.10に導入 (2020年4月1日) : : :
    • ubyte、ushort、uint、ulong のサポートを追加しました。