区切りファイルと固定幅ファイルとは何ですか?

画面にスプレッドシートを表示するラップトップコンピューター

CSVファイルは、データをスプレッドシートに読み込むために使用されます。

画像クレジット: ストックバイト/ストックバイト/ゲッティイメージズ

ファイルの各行はデータの行を表しますが、そのデータは通常、フィールドまたは列に分割されます。 2つの標準的な方法でフィールドを示します。 1つは、固定長のフィールド、つまり固定長のレコードを持つことです。 もう1つは、可変長レコードを持つ可変長フィールドを持つことです。 可変長フィールドは、区切り文字である記号で区切る必要があります。 可変長レコードのデータベースは区切られたファイルを生成し、固定長レコードを持つデータベースは固定幅ファイルを生成します。

区切り文字

区切りファイルの最も一般的な形式は、フィールド区切り文字としてコンマを使用します。 これらのファイルは、コンマ区切り値(CSV)ファイルと呼ばれます。 カンマは数値データに適していますが、テキストで問題が発生する可能性があります。 他の区切り文字には、スペース( "")バー( "|")またはハット記号( "^")が含まれます。 ファイル設計者またはプログラマーは、データでめったに使用されない文字を見つける必要があります。 文字の組み合わせを使用する必要がある場合があります。

今日のビデオ

固定フィールド

ファイルに格納されるデータで1文字が使用されないことを保証できるとは限らないため、適切な区切り文字を見つけるのが難しいため、固定長フィールドが望ましい場合があります。 この形式では、ストレージと処理の両方でオーバーヘッドが発生するため、区切られたファイルがより一般的です。 固定長フィールドはパディングする必要があります。 パディングの最も一般的な形式は、数値データの場合はゼロを使用した左パディング、テキストの場合はスペースを使用した右パディングです。

手順

ファイルの幅が固定されているか、区切りフィールドが含まれているかに関係なく、書き込みプログラムと読み取りプログラムは同じ規則に従う必要があります。 固定幅のファイルを受け取るプログラムは、最初に各ファイルの長さとデータ型を知る必要があります。 区切られたファイルを受け取るプログラムは、検索する区切り文字を知っている必要があります。

拒否されたレコード

いずれの場合も、インポートするプログラムには、拒否されたレコードを別のファイルに書き出す例外報告手順が必要です。 区切られたレコードが拒否される最も一般的な理由は、区切り文字がデータに表示され、余分な列が作成されることです。 固定幅のレコードは通常、長すぎるために拒否されます。 短いレコードは通常、エラーを引き起こしません。 最後のフィールドは入力されません。 最後のフィールドが必須の場合、短いレコードは拒否されます。