250

CSV 形式のファイルで、それ自体の行または行末にコメントを許可する公式の方法はありますか?

これとRFC 4180についてウィキペディアをチェックしてみましたが、どちらもファイル形式の一部ではないことを信じさせるものは何も言及していないので、運が悪いので、別のReadMe.txtファイルを使用して説明する必要がありますファイル。

最後に、自分のコメントを簡単に追加できることはわかっていますが、消費者がインポート プロセスをカスタマイズする必要なく、Excel などですぐにインポートできることを望んでいました。

それで、考え?

4

8 に答える 8

145

CSV の "標準" (そのようなもの) は、コメントの処理方法を規定していません。いいえ、慣例を確立してそれに従うのはアプリケーション次第です。

于 2009-12-25T11:27:52.590 に答える
44

エンジニアリングデータでは#、コメントを示すために使用される最初の列に記号が表示されるのが一般的です。

私はJava用のostermillerCSV解析ライブラリを使用して、そのようなファイルを読み取って処理します。そのライブラリを使用すると、コメント文字を設定できます。解析操作の後、コメントなしで実際のデータのみを含む配列を取得します。

于 2013-01-20T19:47:01.297 に答える
32

いいえ、CSV はコメントにタグを付ける方法を指定していません。コメントは、テキストを含む追加のセルとして Excel などのプログラムによって読み込まれます。

管理できる最も近い方法 (CSV を Excel などの特定のアプリケーションにインポートする) は、Excel が無視するコメントにタグを付ける特別な方法を定義することです。Excel の場合、コメントを数式に埋め込むことで、コメントを (ある程度まで) 「非表示」にすることができます。たとえば、次の csv ファイルを Excel にインポートしてみてください。

=N("This is a comment and will appear as a simple zero value in excel")
John, Doe, 24

数値 0 を表示するスプレッドシートのセルは引き続き表示されますが、コメントは非表示になっています。

または、セルの表示部分に表示されないように、テキストをスペースで埋めて非表示にすることもできます。

                              This is a sort-of hidden comment!,
John, Doe, 24

Excel が次のセルを埋めて、セルに収まらないテキストの部分を非表示にするために、コメント テキストの後にカンマを付ける必要があることに注意してください。

Excelでのみ機能する厄介なハックですが、インポート後に出力を少しきれいに見せるには十分かもしれません.

于 2009-12-25T12:26:53.300 に答える
8

CSVファイルにコメントを追加する最善の方法は、「コメント」フィールドを追加するか、データに直接記録することだと思います。

私が使用したほとんどのCSV解析アプリケーションは、フィールドマッピングとレコード選択の両方を実装しています。したがって、フィールドのプロパティについてコメントするには、フィールドの説明のためだけにレコードを追加します。レコードにコメントするには、コメントのためだけに、レコードの最後にフィールドを追加します(実際にはすべてのレコード)。

これらは、CSVファイルにコメントするために私が考えることができる唯一の2つの理由です。しかし、私が予測できる唯一の問題は、単一のレコードがいくつかの検証ルールに合格しない場合にファイルを受け入れることをまったく拒否するプログラムです。その場合、数値フィールドの文字列型のフィールド記述レコードを作成するのに問題が発生します。

しかし、私は決して専門家ではないので、私の理論の間違いを自由に指摘してください。

于 2012-06-02T07:18:33.697 に答える
5

次のようなものが必要な場合:

  │ A                              │ B
──┼────────────────────────────────┼───
1 │ #My comment, something else    │
2 │ 1                              │ 2

CSV には次の行が含まれる場合があります。

"#My comment, something else"
1,2

最初の行の「引用符」に注意してください。

Excel ウィザードを使用してテキストを列に変換するときは、[連続する区切り文字を 1 つとして扱う] をオンにして、区切り文字として「引用符」を使用するように設定してください。

したがって、Excel はテキストをカンマで分割し、「コメント」行を単一の列値として保持します (引用符は削除されます)。

于 2012-07-05T14:50:33.850 に答える
5

コンマ区切りファイルは、行がコンマで区切られた値で構成される単なるテキスト ファイルです。

CSV ファイルの内容を定義する標準がないため、コメントを示す方法が定義されていません。CSV ファイルをインポートするプログラムによって異なります。

もちろん、これは通常 Excel です。Excel がコメントをどのように定義するのかを自問する必要があります。つまり、Excel が CSV ファイルの行 (または行の一部) を無視するのはなぜでしょうか? これを行うものは何も知りません。

于 2009-12-25T11:30:06.727 に答える
4

バッチ ファイルで FOR コマンドを使用してファイルを解析している場合、セミコロン (;) が機能します。

REM test.bat contents

for /F "tokens=1-3 delims=," %%a in (test.csv) do @Echo %%a, %%b, %%c

;test.csv contents (this line is a comment)

;1,ignore this line,no it shouldn't

2,parse this line,yes it should!

;3,ignore this line,no it shouldn't

4,parse this line,yes it should!

出力:

2, parse this line, yes it should!

4, parse this line, yes it should!
于 2016-03-03T17:15:05.517 に答える