テキストファイルってなに?

テキストファイルというファイル形式のファイルがあります。

これが使えると便利だよとか言われるのですが、実際に何がどう便利なのかというのが、テキストファイルを実際にこれから使おうとしている人たちに届いているのかと言うとどうなのかなと思って、根本に帰ってテキストファイルというのは何者なのかというお話をしたいと思います。

私が知る限り、テキストファイルをExcelで活用する方法について一番詳しい本はこちらの本です。

 

まず私がテキストファイルと出会った時の話をすると一番わかりやすいかなと思います。

私以前にプログラムを作っていたのですね。プログラムで処理したものって画面上に表示するだけではなくて、後からでも読み返せるように保存しておく必要があったのです。

もちろん保存するだけではなくて読み出しする必要もあるし、加工する必要もあります。

そんな時に扱いが難しい形式のファイルで保存するというスキルもなければ、勉強する手段もなかったので、簡単にその時のプログラム言語で扱えたのが、テキストファイルでした。

私が使っていたテキストファイルには、アルファベット、数字、ちょっとした記号という全て半角の文字でした。そのファイルを保存して、データを持ち出して他のパソコンで読み取るということもしていました。昔はいろんなOSがあり、OSごとに扱えるファイルが違っていました。しかしテキストファイルだけはどのOSでもサポートしていたので、どのコンピューターでも書いたり読み出したりすることができたのです。

なぜそんなにテキストファイルが書いたり読み出したりすることができるかと言うと、それはもう単純に、テキストファイルの形式がシンプルだからです。

Wordの文書であれば文字のサイズや色などが文字の他に記録されています。Excelも同様です。それらはWord形式、Excel形式として、お互いに読み込むことは基本的に不可能です。それはなぜかと言うとWordやExcel特有の保存する情報があったり、そもそも表計算と文書のファイルは形式が全く違かったりするからです。

テキストファイルはその垣根を越えることができます。その代わり文字のサイズや色といった情報、用紙の設定などは全く記録されていません。あくまで記録されるのは文字だけです。

文字と言っても、数字、アルファベット、記号、ひらがな、カタカナ、漢字も保存できます。そのうちの数字とアルファベット以外は実はパソコンによって読み出せない可能性もあります。OSによってバラバラに規定されている可能性があるのです。本当に安全に考えたら数字とアルファベットのみをテキストファイルで使えば本当にどんなコンピュータシステムでも読み出すことができます。

それは、数字とアルファベットと基本的な記号その他に、0番から255番目までの番号が振られています。初期のテキストファイルは全部で256種類の文字しか扱っていなかったのです。そのコード番号のことをASCIIコードと呼びます。これでアルファベットの大文字と小文字、数字、その他記号と制御文字と呼ばれる基本的なコンピューター用文字を扱っていました。

制御文字で普段テキストファイルとして使うのは9番のタブ文字、10番の改行、13番の復帰の3つくらいでしょう。このような制御文字は画面上に表示できる文字ではなく、そこにそれらの文字が入っていることによって横に隙間を作ったり次の行へ移動したりするものです。

Windowsの標準では改行を表すのに「改行」と「復帰」のいわゆる「CR」「LF」で改行を表していました。1行のデータは最後に「CRLF」があることで区切られたのです。これがなければ行の区切りが分からないのでずっと一行目に入ってしまうということになってしまいます。Macでは改行は「CR」、UNIX系は「LF」です。統一されていないので、Windowのテキストファイルで作ったものをMacで開くと、全てのデータが1行に入ってしまうということもありました。今はお互いにその違いがあってもきちんと読み込むようにできているものがほとんどです。

テキストファイルの改行は「CR」や「LF」で改行されます。プログラムとして区切りとしてこれらの制御文字を送り出してやればそこで改行ということで保存されます。横の区切りはタブ文字で出力することが私は多かったです。Excelでもテキストファイルを読み込む時は標準ではタブ文字で列の区切りとしています。

テキストファイルの区切り文字としては、私としてはタブ文字で区切られたものをテキストファイルと呼ぶようにしています。しかし、タブ文字ではなく「,」の記号で区切るテキストファイルもあります。これはいわゆるCSVデータと呼ばれます。

テキストファイルというのはこのようにもともとはASCIIコードの文字が単純に区切り文字で区切られているファイルのこと総称で、そのうちタブ記号で横方向の区切りにしているのが一般的に言われるテキストファイルで、「,」で区切られるのがCSVファイルと呼ばれると私は認識しています。

今のテキストファイルではASCIIコードだけではなく、漢字や外国語を含めてものすごい数の文字をコンピューターは扱うことができます。そのコード体系をUNICODEと呼びます。

しかし、UNICODEとなってもテキストファイルの原理はまるっきり変わっていません。単純に文字を扱うだけのファイルです。

単純なものなので、色々なものの間でやり取りすることができます。何かデータがおかしいなと思ったらそのテキストファイルをメモ帳で開けば中身をそのまま見ることができます。おかしかったらメモ帳で内容を直すこともできます。そのくらい単純なものです。

会計ソフトから今月の売り上げデータとしてテキストファイルでデータを保存してそれをExcelで開く、メールの内容をテキストファイルで保存してそれをWordで開くといったこともできます。

私たちがオリジナルのシステムで何かを作ろうという時にデータを保存する方法の一番簡単な方法としてテキストファイルがあります。Webでの売上管理システム作って、そのデータをExcelで纏めるという流れを作るときはWebシステムからテキストファイルで保存できるようにするとよいでしょう。

テキストファイルは、どんなコンピューターの間でもどんなソフトウェアの間でも安全に より確実にやり取りすることができるファイルで、自分でデータ出力するようなものをプログラムで作る場合もデータ出力形式として一番簡単に作成できるというメリットがあります。

コメント

タイトルとURLをコピーしました