CSV形式受信の設定
受信したファイルをCSV形式へ変換する際、項目を何で区切るかのセパレータ文字、項目の囲み文字などを設定するCSV環境設定ファイル(hulcsv.info)が集信側に必要です。
変換するファイルIDごとに内容を設定してください。なお、ファイルIDが設定されていない場合は、ユーザの初期値が設定されます(「(5) ユーザの初期値」を参照)。CSV環境設定ファイルが存在していない場合、または「(5) ユーザの初期値」が設定されていない場合は、各項目の初期値(「(6) 各項目の初期値」参照)が設定されます。
(1) ファイル名
CSV環境設定ファイルの名称は「hulcsv.info」です。この名称は変更できません。
CSV環境設定ファイルは、HULFTのシステムファイルが存在するパス(HULPATH)に置きます。
(2) 記述フォーマット
行の先頭に半角の「#」があるときは、コメント行とみなされます。空行が存在していても 構いません。
項目と項目の区切りは、スペースコード(0x20)またはタブコード(0x09)を使用します。
(3) レコードレイアウト
CSV環境設定ファイル(hulcsv.info)はバイナリデータを含みませんので、viなどのエディタで作成することができます。また、このレコードはCSV環境設定ファイルに複数記述することができます。
項目名 |
領域長 |
記述値 |
---|---|---|
ファイルID |
50 |
英数字50バイト以内 |
項目間の区切り文字 |
5 |
半角1文字、TAB、SPACEまたはNONE |
スペースキャラクタの省略有無 |
3 |
YESまたはNO |
全スペース項目の処理 |
3 |
YESまたはNO |
キャラクタ項目の囲み文字 |
1 |
半角1文字 |
数値項目の前ゼロ処理 |
3 |
YESまたはNO |
タイトル行の出力有無 |
3 |
YESまたはNO |
項目と項目の区切りは、スペースコード(0x20)またはタブコード(0x09)を使用します。YESまたはNOの選択を行う項目にて、YES、NO以外の記述を行った場合は、初期値が有効になります。各項目の初期値は、「(6) 各項目の初期値」を参照してください。
(4) 各項目の説明
各項目の説明を以下に示します。各項目の初期値は「(6) 各項目の初期値」を参照してください。
- ファイルID(FILEID)
-
CSV形式変換を行うファイルIDを英数大文字で記述します。50バイト以内で指定します。
- 項目間の区切り文字(SEPARATE)
-
項目と項目を区切る文字を記述します。
- 半角1文字
-
: 指定文字を区切り文字
- TAB
-
: タブコード(0x09)を区切り文字
- SPACE
-
: スペースコード(0x20)を区切り文字
- NONE
-
: 区切り文字なし
- スペースキャラクタの省略有無(SPACECUT)
-
フォーマット情報の項目タイプが“X(キャラクタ)”、“M(可変長文字)”、または“N(2バイト表示文字)”で、その項目値の後ろにあるスペース、または漢字コード変換によってフォーマット情報のサイズより実際のデータサイズが短くなったときの後ろスペースを省略するかしないかを記述します。
- YES
-
: 項目の後ろのスペースをカットする
- NO
-
: 項目の後ろのスペースをカットしない
- 全スペース項目の処理(ALL_SPACECUT)
-
フォーマット情報の項目タイプが“X(キャラクタ)”、“M(可変長文字)”、または“N(2バイト表示文字)”で、その項目値がすべてスペースの場合の処理を記述します。
- YES
-
: 全スペースをカットする
- NO
-
: 半角1バイト分のスペースを項目値とする
この指定は、スペースキャラクタの省略有無で“YES(項目の後ろのスペースをカットする)”を指定したときのみ有効です。
省略するスペースコードは、以下のとおりです。
-
Shift-JISの場合
-
0X20(半角スペース)
-
0X8140(全角スペース)
-
-
EUC-JPの場合
-
0X20(半角スペース)
-
0XA1A1(全角スペース)
-
-
UTF-8の場合
-
0X20(半角スペース)
-
0XE38080(全角スペース)
-
-
GB18030の場合
-
0X20(半角スペース)
-
0XA1A1(全角スペース)
-
- キャラクタ項目の囲み文字(SIEGE)
-
フォーマット情報の項目タイプが“X(キャラクタ)”、“M(可変長文字)”、または“N(2バイト表示文字)”のとき、その項目の値を囲む文字を記述します。半角1バイトのみ有効です。文字を囲みたくない場合は“N”を記述します。スペースまたは“N”で囲むことはできません。
- 数値項目の前ゼロ処理(ZEROCUT)
-
フォーマット情報の項目タイプが“B(バイナリ)”、“S(サイン付外部10進数)”、“P(サイン付内部10進数)”、“F(浮動小数点タイプ)”、または“9(サイン無外部10進数)”で、その項目の値が規定表示桁数(下記参照)より少ない場合、数値の前に“0”を埋めるかどうかを記述します。
- YES
-
: 数値の前の「0」をカット
- NO
-
: 数値の前を「0」で埋める
表2.16 CSV形式変換時の変換規則
集信ファイル(変換後)
CSVデータ
項目タイプ
バイト数
規定表示桁数
F
浮動小数タイプ
4
21
8
30
P
サイン付内部10進数
1~2
12
3~5
12
6~10
21
B
バイナリタイプ
2
12
4
12
8
21
S
サイン付外部10進数
1~4
12
5~9
12
10~18
21
= 備考 =-
項目タイプが“F(浮動小数点タイプ)”の場合は、小数点以下桁数が固定で9桁になります。また、規定表示桁数を超えるデータの場合は、データに依存します。
-
属性変換機能で、“P(サイン付内部10進数)タイプ”、“S(サイン付外部10進数)タイプ”から“9(サイン無外部10進数)タイプ”に変換した場合、規定表示桁数はデータ桁数に依存します。変換しない場合は、項目のバイト数に依存します。
-
規定表示桁数には、符号('-'のみ)および小数点が含まれます。
-
バイナリタイプのデータは、サイン付データ形式として処理されます。
- タイトル行の出力有無(TITLE)
-
フォーマット情報の項目名をタイトル行として、1行目に出力するかどうかを記述します。ただし、タイトル行の出力は配信管理情報の転送タイプが“F(FORMAT)”のときのみ有効です。
- YES
-
: タイトル行を出力する
- NO
-
: タイトル行を出力しない
CSV環境設定ファイルに同じ設定内容のファイルIDが複数存在する場合、ファイルID「DEFAULTF」で初期値を設定することにより、1つのファイルIDで同じ設定を行うことができます。変換するファイルIDがCSV環境設定ファイルに存在しないとき「DEFAULTF」の値が設定されます。
「DEFAULTF」がCSV環境設定ファイルに設定されていない場合は、「(6) 各項目の初期値」が設定されます。
各設定値の初期値を以下に示します。該当するファイルIDがなかった場合、またはファイ ルが存在しない場合は、初期値が設定値として採用されます。
項目名 |
初期値 |
初期値の説明 |
---|---|---|
項目間の区切り文字 |
,(カンマ) |
項目を「,(カンマ)」で区切る |
スペースキャラクタの省略有無 |
YES |
項目の後ろのスペースをカットする |
全スペース項目の処理 |
YES |
全スペースをカットする |
キャラクタ項目の囲み文字 |
”(ダブルクォート) |
項目の値を「"(ダブルクォート)」で囲む |
数値項目の前ゼロ処理 |
YES |
数値の前の「0」をカット |
タイトル行の出力有無 |
NO |
タイトル行を出力しない |
(7) CSV形式ファイル
CSV形式受信を行うと、集信ファイルと同一のディレクトリにCSV形式ファイルが作成されます。CSV形式のファイル名は「集信ファイル名.csv」です。
(8) 設定例
CSV形式変換環境設定ファイルの設定例を下記に示します。
# HULFT8 CSV Environment Settings File # # FILEID : Receive File ID # SEPARATE : Delimiter *SPACE, TAB, NONE can also be used. # SPACECUT : Space cut # ALL_SPACECUT : All-space process # SIEGE : Text enclosure # ZEROCUT : Pre-zero cut # TITLE : Title line output # # Default Value : SEPARATE = , # : SPACECUT = YES # : ALL_SPACECUT = YES # : SIEGE = " # : ZEROCUT = YES # : TITLE = NO # #FILEID SEPARATE SPACECUT ALL_SPACECUT SIEGE ZEROCUT TITLE #| | | | | | | SAMPLE , YES YES " YES NO NAME , YES YES " YES YES NAME2 ; NO NO ' YES NO ADDRESS : YES NO ' NO NO DEFAULTF ; NO YES N YES YES
(9) 注意事項
-
フォーマット情報の項目タイプに“I(イメージタイプ(無変換))”を指定すると、CSV形式変換処理でエラーになりますので指定しないでください。
“I(イメージタイプ(無変換))”はイメージ(転送時無変換)なので、データ内に上記セパレータ文字や囲み文字が含まれる可能性があるためです。
-
CSV変換では、データ内にNULL文字(0x00)が存在した場合、そこまでをデータであると判断します。