木製ナットの部屋
CSV支援モジュール
目次
CSV操作
CSVの分割・結合を行います。
分割するキャラクタを変更すれば、タブ区切り形式のファイルも読み込み可能です。
csv_initial命令
csv_initial p1,p2,p3
- stat=エラーコード
- p1=分割文字
- p2=分割を無視する文字
- p3=分割無視のエスケープ
CSVの分割・結合を行うセパレータ・エスケープ文字の設定を行います。
各引数の説明は以下の通りです。
p1 | : |
各セルの区切り文字を指定します。 初期値はカンマ(",")になります。 ここをタブ文字("\t")に変更すれば、タブ区切りテキストを分割する事も可能です。 |
p2 | : |
区切り文字を認識する時のエスケープを指定します。 初期値はダブルクォーテーション("\"")になります。 ここで指定された文字で囲まれている部分は、一つのセルとして処理されます。 |
p3 | : |
p2をエスケープする文字を指定します。 初期値はダブルクォーテーション("\"")になります。 この文字に続けてp2を記述すると、文字としてp2を認識します。 |
各引数は半角1文字で、英数字及び記号または特殊文字の指定可能です。
各引数が無効な値の場合、statに値が返ります。
statの戻り値は以下の通りです。各エラーはビットマスクで個別に取り出す事が可能です。
stat=0 | : |
エラーはありません。 各引数は正常に指定されました。 |
stat&1 | : |
p1の値が無効です。 p1が単体の1Byte文字ではありません。 |
stat&2 | : |
p2の値が無効です。 p2が単体の1Byte文字ではありません。 |
stat&4 | : |
p3の値が無効です。 p3が単体の1Byte文字ではありません。 |
csv_split命令
csv_split p1,p2,p3,p4,p5,p6
- p1=CSV分割先変数
- p2=分割するCSV
- p3=分割先頭カラム
- p4=分割先頭レコード
- p5=分割最終カラム
- p6=分割最終レコード
csv_initial命令の設定に従ってCSVの分解を行います。
セル内改行の文字コードがLFの場合、HSP3で扱えるようにCR+LFに置換されます。
各引数の説明は以下の通りです。
p1 | : |
分割先の配列変数を指定します。 指定された変数は自動的に初期化されます。 二次配列の一次元目がレコード、二次元目がカラムに対応し、セルA1が配列(0,0)となります。 p3~p6を省略した場合、CSVのテーブルサイズと配列の要素数は一致します。 |
p2 | : |
分割元のCSVの内容を格納した変数を指定します。 noteload及びbloadでCSVを読み込んでください。 |
p3・p4 | : |
分割時の先頭カラムと先頭レコードを指定します。 省略もしくは0を指定した場合は両者とも先頭から分割されます。 引数を指定した場合、p1の要素数はCSVのテーブルサイズより小さくなります。 |
p5・p6 | : |
分割時の最終カラムと最終レコードを指定します。 省略もしくは-1を指定した場合は両者とも最終まで分割されます。 引数を指定した場合、p1の要素数はCSVのテーブルサイズより小さくなります。 |
p3、p4及びp5、p6に値を指定した場合、p1の要素数は(0,0)~(p5-p3,p6-p4)になります。
p3~p6がCSVのテーブルサイズより大きい場合、そのパラメータは無視されます。
なおp3>p5の場合はカラムの範囲指定を、p4>p6の場合はレコードの範囲指定を無視して全て分割されます。
csv_connect命令
csv_connect p1,p2,p3,p4,p5,p6
- p1=CSV結合先変数
- p2=結合する二次元配列
- p3=結合先頭カラム
- p4=結合先頭レコード
- p5=結合最終カラム
- p6=結合最終レコード
csv_initial命令の設定に従ってCSVの結合を行います。
セル内改行の文字コードはCR+LFに統一されます。
各引数の説明は以下の通りです。
p1 | : |
結合先の文字列変数を指定します。 事前にp1はsdimで十分なバッファ領域を確保してください。 |
p2 | : |
結合元の二次元配列変数を指定します。 二次配列の一次元目がレコード、二次元目がカラムに対応し、セルA1が配列(0,0)となります。 p3~p6を省略した場合、配列の要素数とCSVのテーブルサイズは一致します。 |
p3・p4 | : |
結合時の先頭カラムと先頭レコードを指定します。 省略もしくは0を指定した場合は両者とも先頭から結合されます。 引数を指定した場合、p1のテーブルサイズは配列の要素数より小さくなります。 |
p5・p6 | : |
結合時の最終カラムと最終レコードを指定します。 省略もしくは-1を指定した場合は両者とも最終まで結合されます。 引数を指定した場合、p1のテーブルサイズは配列の要素数より小さくなります。 |
p3、p4及びp5、p6に値を指定した場合、p1のテーブルサイズは(0,0)~(p5-p3,p6-p4)になります。
p3~p6が配列の要素数より大きい場合、そのパラメータは無視されます。
なおp3>p5の場合はカラムの範囲指定を、p4>p6の場合はレコードの範囲指定を無視して全て結合されます。
バージョン情報
以下はバージョン情報になります。
特別な理由が無い限り、最新バージョンのモジュールを使用することを推奨します。
2024/03/24 | ver 1.0.1 | ダウンロード | 配布用に最適化 |