【Python⑦】ファイルを読む基本|外部データをPythonに取り込む
ここまでで、変数・型・演算、リストと辞書、if 文と for 文、そして関数の基本を整理しました。次に必要になるのは、コードの中だけで完結するのではなく、外にあるデータを読み込んで扱う感覚です。
そこで今回は、ファイルを読むとはどういうことかを整理します。
データサイエンスでは、実際の分析はデータを手元に持ってくるところから始まります。その意味で、ファイルを読むことは単なる文法事項ではなく、データを扱う入口そのものです。ここでは細かい技術を急いで増やすのではなく、まず基本的な考え方を押さえます。
この記事で整理すること
- ファイルを読むとはどういうことか
- ファイルとコードの関係
- パスとは何か
- データサイエンスでファイルを読むことがどう役立つか
目的は、「ファイルを読む」という操作を単なる手順ではなく、データを扱うための基本動作として理解することです。ここを押さえると、この先の pandas や CSV 読み込みの理解がかなり進みやすくなります。
ファイルを読むとはどういうことか
ファイルを読むとは、コンピュータの中に保存されている内容を、Pythonの中に取り込むことです。コードの中に最初から書かれている値だけでなく、外部にある情報を使えるようにするための操作だと考えるとわかりやすいです。
たとえば、テキストファイルの文章、CSVファイルの表データ、ログファイルの記録などは、ファイルとして保存されています。Pythonは、それらの内容を読み取り、処理できる形に変える役割を持ちます。
つまり、ファイルを読むことは「保存されている情報をコードの中に持ってくること」です。データサイエンスでは、この作業が出発点になります。
コードの中のデータと外にあるデータ
これまでの記事では、数値や文字列をコードの中に直接書いてきました。たとえば、score = 75 や、リストの中に点数を並べる形です。この場合、データは最初からコードの中にあります。
しかし、実際のデータ分析では、扱うデータをすべてコードの中に直接書くことはほとんどありません。データ量が多いこともありますし、もとのデータは別のファイルとして保存されていることが普通だからです。
そのため、コードの中で値を直接作る段階から、外部ファイルを読み込んで使う段階へ進む必要があります。ここで初めて、「実際のデータを扱う」という感覚が出てきます。
テキストファイルを読む例
まずは、最も基本的な例としてテキストファイルを考えます。Pythonでは、open() を使ってファイルを開き、その内容を読み取れます。
file = open("sample.txt", "r", encoding="utf-8")text = file.read()file.close()print(text)
このコードでは、sample.txt というファイルを読み込みモードで開き、その中身を文字列として取り出しています。最後に close() を使ってファイルを閉じています。
ここで重要なのは、ファイルの内容がそのまま使えるわけではなく、Pythonの中に取り込んで初めて処理の対象になるということです。つまり、ファイルを読むとは、外にある情報をコードの中に渡す作業です。
with を使った書き方
ファイルを扱うときは、with を使う書き方もよく使われます。こちらのほうが、ファイルを閉じ忘れにくいので、実際にはより安全です。
with open("sample.txt", "r", encoding="utf-8") as file: text = file.read()print(text)
この形では、with のブロックを抜けると自動的にファイルが閉じられます。今の段階では、細かい仕組みまで立ち入る必要はありませんが、ファイルを読む標準的な書き方のひとつとして押さえておく価値があります。
パスとは何か
ファイルを読むときには、そのファイルがどこにあるかを指定する必要があります。この位置情報がパスです。
たとえば、"sample.txt" のように書けば、現在の場所にあるファイルを読むことになります。一方で、フォルダの中にあるファイルを読む場合には、その場所まで含めて指定する必要があります。
with open("data/sample.txt", "r", encoding="utf-8") as file: text = file.read()print(text)
この例では、data というフォルダの中にある sample.txt を読んでいます。ファイルが見つからないときは、内容そのものではなく、パスの指定が間違っていることも多いです。
そのため、ファイルを読むときは、何を読むかだけでなく、どこにあるものを読むかも意識する必要があります。
CSVファイルとのつながり
データサイエンスで特に重要になるのは、CSVファイルのような表形式データです。CSVは、行と列を持つデータを保存するための代表的な形式です。
今の段階では、CSVの細かい扱い方まで入る必要はありません。ただし、これから pandas を使ってデータを読むときにも、本質的には「ファイルの中にあるデータをPythonへ取り込む」という流れは同じです。
つまり、今回整理している内容は、単なるテキストファイルの話ではありません。この先の本格的なデータ処理にそのままつながる基礎です。
データサイエンスでどう役立つか
データサイエンスでは、分析の対象になるデータは外部ファイルとして与えられることがほとんどです。したがって、ファイルを読むことができなければ、分析そのものを始められません。
また、データを読み込むときには、「どのファイルを」「どの場所から」「どの形式で」読むのかを意識する必要があります。この感覚がないと、エラーが出たときに原因を切り分けにくくなります。
今後、CSVを読み込み、表形式データを扱い、さらに可視化や機械学習へ進んでいくうえでも、ファイルを読むという基本動作は何度も出てきます。ここは地味ですが、非常に重要な土台です。
よくある混乱
ここでは、最初に混乱しやすい点を整理しておきます。
- コードの中の値と、外部ファイルのデータが区別できていない
- ファイルの中身ではなく、ファイルの場所の指定でつまずく
open()の書き方だけを覚えて、何をしているのかが曖昧になる- ファイルを読むことと、データを分析することが頭の中で分かれていない
特に多いのは、ファイルが見つからないときに「コードが間違っている」と考えてしまうことです。実際には、ファイル名やパスの指定に原因があることも多くあります。
また、読み込んだ結果が文字列なのか、表形式データなのかによって、その後の扱い方も変わります。したがって、「読み込む」という一語で済ませず、何をどの形で取り込んでいるのかを意識する必要があります。
今の段階で押さえるべきこと
現時点で必要なのは、高度なファイル操作を覚えることではありません。まずは、ファイルを読むとは「外にある情報をPythonの中に取り込むこと」だと理解することが重要です。
そのうえで、ファイルには場所があり、その場所をパスで指定すること、読み込んだデータはその後の処理の出発点になることを押さえておく必要があります。ここを明確にすると、この先の CSV 読み込みや pandas の学習にも入りやすくなります。
次に学ぶこと
ここまでで、ファイルを読むとはどういうことかを整理しました。次は、エラーの読み方を学びます。
ファイルを扱うようになると、ファイルが見つからない、書き方がずれている、型が想定と違う、といったエラーにも出会いやすくなります。そのため、コードを書く力と同時に、エラーを読んで修正する力も必要になります。
まとめ
ファイルを読むとは、コンピュータの中に保存されている情報を、Pythonの中へ取り込むことです。データサイエンスでは、この操作が分析の出発点になります。
また、ファイルを読むときには、内容だけでなく場所も指定する必要があります。そのため、ファイルそのものとパスの考え方を分けて理解することが重要です。ここを押さえておけば、この先の CSV 読み込みやデータ処理にもつながっていきます。