【Pythonを使い倒す】ファイルの読み込み方を覚えて、外部のデータを活用できるようになろう!

前回の記事では、ファイルの書き出し方を覚えて、計算の実行結果やプログラムの途中の状態などを保存できるようになる書き方を解説をしました。今回はファイルの読み込みを解説します。

ファイルの読み込み

それではファイルを読み込み、内容を取得します。
ファイルの内容を Python で使用するためには、ファイルを開いてファイルの内容を読み込んでファイルを閉じるというステップが必要です。

  1. ファイルを開く
  2. ファイルの内容を読み込む
  3. ファイルを閉じる

ファイルを開くには open()関数をファイルを閉じるにはclose()関数を用います。
以下の例では、read( )を用いて、ファイルの内容をまとめて文字列として読み込んでいます。

ファイルの読み込み
f = open("greetings.txt", "r") # ファイルを開く "r"を指定すると読み込み
a = f.read() # ファイルの中身を全て読み込む
f.close() # ファイルを閉じる

print(a)
実行結果

Good morning!
Good afternoon!
Good evening!
Good night!

こちらのセルのコードを見ていきましょう。
open()関数で前回作成したgreetings.txtというファイルを開いています。
その際に第2引数で”r”を指定します。
“r”を指定するとファイルの読み込みになります。

ファイルの書き込みをする際は別の指定をします。
その後、read()関数によりファイルの中身をすべて読み込んでいます。
そして、close()関数によりファイルを閉じます。
その後、変数aの内容をプリントします。

実行すると上記のようにgreetings.txtファイルの中身が表示されました。
それではgreetings.txtファイルの中身を確認してみましょう。
※greetings.txtファイルは前回の記事にて作成しています。

開いてみるとこの中には4行の文章が書かれています。

従いまして、こちらのコードによりファイルの中身をすべて読み込んで、それを表示することができたことになります。

for文によるループを使って1行ずつ順番に読み込む

またfor文によるループを使って1行ずつ順番に読み込むこともできます。

for文によるループを使って1行ずつ順番に読み込む
f = open("greetings.txt", "r")
for a in f: # 各行を読み込んでaに入れる
    print(a.strip()) # strip()で改行を削除
f.close()
実行結果

Good morning!
Good afternoon!
Good evening!
Good night!

こちらのセルのコードではファイルを開いた後にfor文を使ってファイルの各行を1行ずつ読み込んで変数aに入れています。
そして変数aからstrip()で改行を削除してプリントします。

実行するとようにファイルの各行が読み込まれて、表示されました。

list関数を用いて、読み込んだ内容をリストに格納する

また、list関数を用いて、読み込んだ内容をリストに格納することができます。

list関数を用いて、読み込んだ内容をリストに格納する
f = open("greetings.txt", "r")
a = list(f) # ファイルの中身をリストに読み込む
f.close()

print(a) # リストを表示

for b in a:
    print(b.strip())
実行結果

[‘Good morning!\n’, ‘Good afternoon!\n’, ‘Good evening!\n’, ‘Good night!’] Good morning!
Good afternoon!
Good evening!
Good night!

こちらのセルのコードではファイルを読み込んだ後に、list関数でファイルをリストに読み込んでいます。
ファイルを閉じた後に、このリストをプリントします。

そして、for文を使ってリストの各要素の改行を削除した上でプリントします。

実行すると上記のように表示されました。
まず、リストの中身が表示されていますね。
ファイルの各行がリストの各要素になっています。

各要素の最後に \n の改行の記号がありますね。
その後にリストの各要素が改行が削除された状態で表示されています。
このようにファイルの中身をリストにしておくと、後ほどデータを利用しやすいかと思います。
このようにしてファイルの内容をPythonで使用することができます。

実際にコードを変えてみてファイルの扱いに慣れていきましょう。
今回はファイルの読み込みを解説しました。
外部のデータを活用できるようになりましたね。