このページは解答編です。
↓ネ
↓タ
↓バ
↓レ
↓防
↓止
答えと解説
設問はこちらでした。
P-097: 094で作成した以下形式のファイルを読み込み、データを3件を表示させて正しく取り込まれていることを確認せよ。
ファイル形式:CSV(カンマ区切り)
ヘッダ有無:有り
文字エンコーディング:UTF-8
解答ワークフローは以下のようになります。
94問目で作成したファイルを読み込む問題です。
今回始めてデータ入力ツールが出てきました。
データ入力ツール
データ入力ツールは、ファイルやデータベースなどからデータを読み込むツールです。メインのオプションはファイルもしくはデータベースへの接続です。それ以外のオプションはファイル形式によって異なります。
以下オプション解説です。
No | 名前 | 値 | 説明 |
---|---|---|---|
1 | レコード制限 | 初期値は空白です。数値を入力可能です。 | 読み込むレコード数の最大値を指定可能です。空白はすべて読み込む、という意味です。 |
2 | ファイル形式 | 初期値は「yxdb」です。 | 読み込むファイル/データベースの種類を指定します。 |
3 | サブディレクトリを検索する | 初期値はチェックなしです。 | チェックを入れるとサブディレクトリを再帰的に読み込み対象としますが、基本的にファイルパスに*(アスタリクス)を入れ複数ファイル読み込み時に動作します。 |
4 | ファイル名をフィールドとして出力する | 初期値は「いいえ」です。ファイル名のみ、フルパス、から選択可能です。 | 読み込んだファイル名を格納するフィールドを追加します。複数ファイルを読み込む際は必須のオプションです。 |
5 | 区切り記号 | 初期値は「,(カンマ)」です。 | 読み込むファイルの区切り記号を指定します。区切り記号なしの場合は「\0(ヌル)」を指定します。タブ区切りの場合は\t、改行コード区切りの場合は\n、空白区切りの場合は\sとなります。その他の文字も指定可能です。 |
6 | 先頭行にフィールド名を含める | 初期値はチェックが入っています | 先頭行がフィールド名の場合はチェックを入れます。ファイルの最初からデータ行が始まる場合はチェックをはずします。 |
7 | フィールド長 | 初期値254です。 | 1セル(区切り記号で分けられた部分)のデータサイズを指定します。小さすぎる場合は大きくしましょう。 |
8 | データインポートの開始行 | 初期値1です。 | データの入力を開始する行を指定します。最初に不要なレコードが入っている場合はここを指定して不要な行をスキップできます。 |
9 | 次の区切り記号を無視する | 初期値「引用符」です。その他、一重引用符、自動、なしから選択可能です。 | ここで指定した記号に囲まれた区切り記号を無視する、というオプションです。つまり、引用符の場合はダブルクオテーション「”」であり、これで囲まれた文字列内にカンマなどの区切り記号があっても無視する、ということになります。 |
10 | 読み込みエラーを警告として扱う | 初期値はチェックが入っていません。 | チェックを入れると、読み込み時にエラーがあっても警告として扱います。 |
11 | コードページ | 初期値「ANSI/OEM – 日本語Shift-JIS」です。初期値は言語設定によって変わります。 | 読み込むファイルの文字コードを指定します。初期値はWindows仕様のShift-JISとなっています。 |
12 | 共有書き込みアクセスを許可する | 初期値はチェックが入っていません。 | チェックを入れると、ファイルを開いていても読み込み可能となります。逆に、チェックが入っていない状態だと、ファイルを開いているとエラーとなりファイルを読み込みません。 |
13 | AMPのみ:引用符で囲まれたフィールドで改行を許可する | 初期値はチェックが入っていません。 | AMP Engine オンの時専用のオプションです:チェックを入れると、引用符で囲まれたフィールドで改行を許可します。 |
14 | AMPのみ:単一スレッドの読み込みを強制する | 初期値はチェックが入っていません。 | AMP Engine オンの時専用のオプションです:チェックを入れるとマルチスレッドでの読み込みを止め、シングルスレッドで読み込みを行います。 |
ワークフローを作成する
それでは早速ワークフローを作成しましょう。データ入力ツールで以下の通り設定します。基本的にCSVを読み込もうとすると、コードページ以外はデフォルトで設定されたものと同じになります。
次に、3レコードを抜き出し確認、とのことなので、サンプリングツールで抜き出しましょう。「最初のN行」でN=「3」とします。
これで完了です。
まとめ
今回はファイルを読み込む問題でした。適切な設定で読み込めば問題ありません。ただし、あらかじめファイルの形式がわかっていない場合、苦戦することがあるかと思います。そのような場合は、テキストエディタなどで文字コードを調べたり、といった準備が必要になります。
コメント