前回に引き続き、テキストファイルについてのお話をします。今回もテキストファイルの作成についてです。
様々なシステムから出力させるテキストファイルは既に書式が決まっており、取り込むときに工夫する必要がありますが、自社開発のシステムや新たに作るデータについては、取り込みやすさを意識した作成方法を決めておくことで、取り込み時の負担やトラブルを減らすことができます。今回はテキストファイル作成する際のルールをいくつかお話しします。
(1) 文字コード
まずは文字コードです。自ら打ち込む場合は別ですが、システムで作る場合はデータベースの標準コードや開発基準にも影響するため一番最初に決めることをお勧めします。
最新のWindows8.1はもちろんですが、Webサイトでも基本はUTF-8となっています。しかし、昔からの流れで、Shift-JISが標準にしているソフトが少なくありません。
他のソフトと連動しない場合は、UTF-8nで作成することをお勧めしますが、連動をする場合は、文字化けのトラブルが起きないよう他のソフトと合わせるようにしてください。インターネットを介してやり取りする場合は特に注意してください。
(2) 区切り文字
定番はやはり「,」カンマだと思いますが、「TAB」タブでの区切りも昔から人気があります。ただし、どちらもデータ内にない場合が理想です。ある場合は別の文字を区切りにすることも一つの方法として検討してください。(「#」や「|」なども使うことがある)
空白を区切り文字に使うこともできますが、あまりお勧めしていません。理由は空白文字を含んでひとつのデータとして扱うことが多いからです。(例:森下 裕史)
(3) 改行コード
これもシステム的な話ですが、Windowsの標準がCRLFなので、特に問題ないときはこれにしておきましょう。注意すべき点としては、システム内部で改行をデータ内部に入れてしまうケースがあるときです。(例:2行表示のデータ)
この場合は、一時的にデータ内の改行を別の記号(たとえば)等で置き換えるか1行に結合してしまうかをルール化してシステム側でコントロールしましょう。結構トラブルとしてよく聞く話です。(数百行のファイルだと途中で折れていることに気づきにくい!)
(4) ヘッダー行(タイトル行)
1行目に各列の内容がわかるようにする仕組みです。トラブル対策や目視確認、集計や並び替えのためにもあるほうが望ましいです。
ただし、冗長なタイトルは無駄に列幅を広げることになりますので、簡潔でわかりやすいタイトルにすることを心がけてください。また、どうしても長いタイトルになりそうならば、略称や略語にしたうえで、解説用シートを関係者がわかるように掲示(もしくは配布)しておくようにしましょう。
(5) ダブルクォーテーション
CSVの一般的な書式として、各データを「”」ダブルクォーテーションで囲むよう提案されています。(RFC4180より)また、その際にデータの中に「”」が必要な場合は、「””」と2回連続で入れるようにとのルールも定義されています。具体的にいうと”森下 裕史”というデータならば、””森下 裕史””というふうに表記します。
ただし、エクセルでは「””」はうまく読み込みができないようなので、エクセルで加工することが前提ならば、ダブルクォーテーションをつけない設定で進めて問題ないと思います。
ちょっとシステム的な話になったので、少しピンとこない方もいらっしゃると思いますが、システム開発時にテキストデータ保存を機能としてつける場合は、ぜひ上記の5つについて開発会社に定義を示すようにしてください。取り込み時のトラブルがIT利活用の妨げにならないようにするための「転ばぬ先の杖」です。