csvfile

CSV ファイルからデータを取得します。

コマンドプロパティ

項目説明
コマンドタイプドライバークエリ
必要な権限ローカルファイル読み取り権限
ライセンス使用量集計あり
並列実行非対応
分散実行非対応

構文

csvfile [offset=INT] [limit=INT] [tab={t|f}] [strict={t|f}] [maxcol=INT] [rest={t|f}] [cs=STR] PATH

オプション

offset=INT
スキップするレコード数。ヘッダー行の後から数えます。
limit=INT
取得する最大レコード数。
tab={t|f}
tを指定すると区切り文字としてタブ文字を使用します。省略またはfを指定するとカンマ(,)を区切り文字として使用します。
strict={t|f}
tを指定すると RFC 4180 基準で厳密に解析します。
maxcol=INT
最大カラム数。この数を超えるカラムはフィールドを生成しません。
rest={t|f}
tを指定するとmaxcolを超えるカラムを_restフィールドに記録します。
cs=STR
CSV ファイルの文字エンコーディング(デフォルト: utf-8)。

対象

PATH
CSV ファイルのパス。ワイルドカード(*)を使用して複数のファイルを指定できます。ファイル拡張子が.gzの場合は gzip 圧縮を自動的に解除します。

出力フィールド

フィールドタイプ説明
(ヘッダー列)stringCSV ヘッダーで定義されたフィールド名とその値
_filestring元のファイル名
_reststringmaxcol超過カラム(rest=tオプション使用時のみ出力)

エラーコード

パースエラー
エラーコードメッセージ説明
10802-ファイルパスが指定されていない場合
10800-ファイルが存在しないか読み取れない場合
10801-親ディレクトリが存在しないか読み取れない場合
10803-ファイルアクセスが拒否された場合

説明

csvfileコマンドは、指定した CSV ファイルを読み取り各行をレコードとして返します。ファイルの最初の行をヘッダーとして認識してフィールド名を自動的に設定します。

ヘッダーで定義したカラム数よりデータ行のカラムが多い場合、超過したカラムはcolumn0column1、...の形式のフィールド名として返されます。maxcolオプションとrest=tオプションを一緒に使用すると、超過したカラムを_restフィールドにまとめて返すことができます。

BOM(Byte Order Mark)が含まれるファイルを自動的に認識します。

使用例

  1. CSV ファイルを取得

    csvfile /opt/logpresso/data/sample.csv
    

    指定した CSV ファイルのすべてのデータを取得します。

  2. タブ区切りファイルを最大 100 件取得

    csvfile tab=t limit=100 /opt/logpresso/data/sample.tsv
    

    タブ文字を区切り文字として使用して最大 100 件のレコードを取得します。

  3. EUC-KR エンコーディングファイルを取得

    csvfile cs=euc-kr /opt/logpresso/data/legacy.csv
    

    EUC-KR でエンコードされた CSV ファイルを取得します。