見出し画像

情報リテラシー応用(4)

データの読み込みについて

課題に使うデータ「data.txt」を開いてみます。
メモ帳が立ち上がり、図のようなデータがわかると思います。

画像1

これは、ある仮想のクラスの成績データです。
課題は、これをExcelで開くことから始まります。

ファイルを開くを選択し、さらに「参照」を選択すると、図のようなボックスが出てきます。
このボックスは、言うまでも無いと思いますが、ファイルを扱う際に必要な3つの情報を確認するためのものです。

ボックス

ファイルは、
  ①保存する場所
  ②ファイル名
  ③ファイルの種類
の3つの情報によって特定されます。

まず①を、ファイル「data.txt」を保存した場所に設定してください。
次に、③のファイルの種類を「テキストファイル」にしてください。
そうすると、②のファイル名として「data.txt」が表示されているはずです。

これを読み込んでください。

Excelやワードなど、電子文書を作るソフトは、様々な種類のファイルの読み書きが出来ますが、それぞれに役割があります。

Excelが開けるファイルの種類は図に示すようにいくつもありますが、Excelで保存できるファイルも何種類かあります。

開く

ファイルの種類は、ファイルの名前の後に示されている、3文字から4文字の拡張子(エクステンション)によって表されています。

保存には、一番上に、「Excelブック」があります。
これは、拡張子が「.xlsx」ですが、簡単に言えば、完全なExcelデータとして保存するものです。
開くでは、「すべてのExcel」として、様々な種類のExcelファイルが開けます。ふつうはこれしか使わないはずです。

今回使うデータは、元々Excelで作成したものではない、テキストデータです。ですので、ファイルを「開く」を選ぶ際に、「テキストファイル」を選びます。Excelでは、テキストで保存することもできます。

さて、そのまま何も考えずにExcelで読み込むと、データが図のようにズレてしまいませんか?

エラー

これについて、詳しく考えてみます。

結論から言えば、これはエラーを起しています。
Excelが、データを読み込むときに、何らかのミスがあって、望む結果である「きちんとセルにデータが整理されて正しい成績表になること。」という目標は達成されていません。

コンピュータは、決められた規則通り処理を行います。この規則のことを、アルゴリズムと言いますが、それに従えば正しい入力に対しては、必ず正しい結果になります。言い換えれば、誤った入力に対しては、誤った結果になります。
この場合、誤った結果になっているので、入力に何らかの誤りがあるはずです。

このエラーの結果を見てください。
エラーにも何か、規則性がありませんか?

このエラーを起している文書から、エラーに纏わる規則を発見してください。どういう場合に、どういうエラーになっていますか?


どうも、名前の長さに関係がありそうです。
名前が3文字の人以外は、性別が数値になっています。
さらに、生徒名と性別の間に不要な空白セルが入っているのもわかると思います。

そもそも、このデータは表のように見えますが、実は表のように見えるのは、データの間に見えない文字(非表示文字)である、空白(スペース)やTab、改行などが入っており、整理されて見えているだけです。
データの最初の一行目を例にすると、
  番号:2101
  氏名:青木 祐子
  性別:女
  英語:82
  数学:78
  国語:85
というデータが示されています。

実際には文字の繋がりですので、非表示文字を除けば、
2101青木祐子女827885
のようになっています。
これでは成績データにはなりません。
英語、の点が、8点なのか、82点なのか、あるいは827点なのか、これではわからないわけです。
テキストとは、文字のことですので、どこまでが一まとまりのデータなのかを示す必要があります。

このデータでは、非表示文字が、セルの間の区切りに使われています。
それをExcelに伝える必要があります。

テキストデータを読み込もうとすると、図のように「テキストファイルウィザード」というツールが出てきます。
ウィザードとは、魔法使いのことですが、ハッカーの俗語としても使われていました。転じて、「ユーザーに必要な情報を適宜示しながら対話形式で簡便に操作できるよう工夫されたソフトウエアの機能」としても使われています。

ウィザード

テキストファイルウィザードとは、Excelでテキストファイルを読み込もうとした時に使われるツールで、まずセルの間の区切りを確定する役割があります。

まず、1/3として図のようなボックスが出てきます。
これは、テキストデータの種類を指定します。

①「カンマやタブなどの区切り文字によって、フィールドごとに区切られたデータ」
②「スペースによって、右または左に揃えられた固定長フィールドのデータ」
の2種類あります。
これは重要ですので、解説しておきます。

まず、フィールドという言葉が出てきます。
この表では、番号、氏名、性別、英語、数学、国語のデータが示されています。このデータの意味を示す、項目のことを、フィールドと呼びます。
もう一つ、表に纏わるデータに関して用語を指摘しておきます。
この表では、一人の成績データは、6フィールドから成っています。
この一まとまりのデータを、レコードと呼びます。
この成績データは、30人分ですので、30レコードあるわけです。

ウィザードの①は、テキストデータの中に区切り文字が含まれていて、それによってフィールドを分けるものです。こうした形式のデータを、「不定長フィールド」と呼びます。
これに対して②は、「固定長フィールド」という名前の通り、フィールドの中に入るデータの長さが決まっているもので、長さを揃えるために、非表示文字の空白(スペース)が入ります。

②は、大型コンピュータで使われるデータに多い形式で、学籍番号や成績データのように、桁数が決まっているデータだけならば使えます。しかし名前は人によって文字数が違いますので、この成績データでは、「不定長フィールド」のデータが使われています。

不定長フィールドを選んだまま、ウィザードを選ぶと、図のように2番目のボックスが出てきます。

ウィザード2

ここでは、区切り文字を指定します。主に、スペースやタブなどの非表示文字が使われます。
タブキーは、tabulator keyの略ですが、元々タイプライターで表を作成するために使われていたそうです。決められた位置までカーソルを移動させる機能を持っており、メモ帳では、半角8文字の設定になっています。
ですので、タブキーを区切り文字に使っている場合、必ず字揃えがなされています。
名前の場合、人によって長さが違いますので、タブキーが、2つ連続して入っていることに注意してください。
ですので、名前の長さによって、セルがズレてしまうわけです。

このために、「連続した区切り文字は1文字として扱う」というオプションに、チェックをしておいてください。
3番目のウィザードは使いませんので、ここで完了してください。

これで、セルにきちんと値が入ったExcelの表が作られました。
これで保存しておいてください。

正しい

上書き保存ではダメです。
折角苦労して読み込んだデータを、元のテキストファイルに戻してしまうことになります。
Excelブックで、名前を付けて保存してください。

この記事が気に入ったらサポートをしてみませんか?