Python|ファイルの読み込み方を学ぼう

このページではPythonを使ったファイルの開き方について解説していきます

Pythonを使ってファイルを取り扱いたいとき参考にしてみてください

Pythonでファイルを開く

ファイルを開く前の準備

Pythonでファイルを開く前に当たり前といえば当たり前ですが、読み込み用のファイルを準備しましょう

ここではこんなテキストファイルを準備してみました

Good afternoon.
It's been cold lately.
Take care of your health.
Let's stay in good health!

ファイル名は「sample.txt」とします

ファイルを開く

Pythonでファイルを開く場合はopen関数を使用し、そこで生成されたファイルオブジェクトに対してread関数を使用することでファイルの中身を読み込むことができます

Pythonでファイルを開く基本形

ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
ファイルオブジェクト変数.read()

ファイルの中身を開くかんたんなサンプルコードを準備してみます

open_file = open("sample.txt", "r")
print(open_file.read())

読み込む対象のファイルは上で作成したsample.txtを使用します

実行するPythonファイルと同じフォルダ階層にあるものとして使用します

もし任意の箇所のファイルを読み込みたい場合はファイル名を指定している箇所にファイルパスを指定するとそのまま読み込むことも可能ですので興味のある方は試してみてください

ファイルの中身がprint文で出力されたことが確認できたと思います

ファイルから指定文字数分読み出す

指定した文字数分だけファイルから文字を取得することもできます

Pythonで開いたファイルから指定文字数分だけ取得する

ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
ファイルオブジェクト変数.read([取得したい文字数])

使用シーンが限られるかもしれませんがread関数の引数として数値を入れると、先頭から指定した文字数分取得することができます

試しにやってみましょう

open_file = open("sample.txt", "r")
print(open_file.read(10))

読み込むファイルは最初のファイルと同じものを使用します

では実行してみましょう

実行の結果「Good afternoon.」の最初の10文字分「Good after」が出力されました

補足になりますが空白も1文字分でカウントされます

ファイルから文字を1行ずつ読み込む

よく使いそうなのがファイル内の文字列を1行ずつ抽出する方法です

方法は2パターンありますのでそれぞれ紹介していきます

readline()関数を使用する場合

まず1つめのパターンはreadline()関数を使用します

readline()関数を使用してファイルを読み込む

ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
ファイルオブジェクト変数.readline()

readline()関数を使用するとファイルの1行目の文字列を取得することができます

事前準備で用意したファイルをまたもや使いまわします

open_file = open("sample.txt", "r")
print(open_file.readline())

では実行してみましょう

事前に準備したテキストファイルの最初の行にある文字列

Good afternoon.

が表示されることが確認できました

ちなみにその次の行を表示したいときはさらにreadline()関数を続けます

open_file = open("sample.txt", "r")
print(open_file.readline())
print(open_file.readline())

では実行してみます

間に改行が含まれていますが2行分の文字列が抽出されることがわかりました

forを使用する

数行であればreadlineでも十分そうですが、だいたいはこちらのほうが使用する頻度が高そうです

forを使用してファイルを読み込む

ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
for 読み出し変数 in ファイルオブジェクト変数:
 文字列を読み出すための処理

for文を使用することで読み込んだファイルの文字列を1行ずつ最初から最後まで抽出することができます

サンプルコードはこちら

open_file = open("sample.txt", "r")

for read_data in open_file:
    print(read_data)

では、実行してみましょう

事前準備で作成したテキストファイルの文字列がそれぞれ出力されたことが確認できました

Pythonでファイルを開いた後は…

ファイルをcloseする

ファイルを開いて読み出したい内容を取得した後はファイルオブジェクト変数クローズしましょう

クローズを実施していないとファイルがロックされてしまったり読み書きしたファイルが最新化されなかったりしますのでPythonに限らずプログラムによるファイルへのアクセス時はクローズ処理を必ず行うことを心がけましょう

ファイルを読み込みの流れ

ファイルオブジェクト変数 = open(“[ファイル名]”, “r”)
~処理
ファイルオブジェクト変数.close()

サンプルコードはこちら

open_file = open("sample.txt", "r")

for read_data in open_file:
    print(read_data)

open_file.close()

さいごに

この記事ではPythonでファイルを読み込む方法について解説していきました

それでは、またノシ

記事が参考になったり、気に入ってもらえたら
ポチッとしてもらえると励みになります!

にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ Pythonへ にほんブログ村 株ブログ つみたてNISAへ
シェアしてもらえるとうれしいです!

コメントを残す

ABOUT US
usimaru
福岡でWindowsアプリケーション開発のお仕事してます。 お金に縛られない生活を目指して日々学んだことをOUTPUTしていきます。 主なテーマ ◆仕事経験から:AWS/Azure/C++/C#/Python/Ruby ◆資産形成に向けて:つみたてNISA/米国株/日本株/仮想通貨/ソーシャルレンディング ◆好きなこと:旅行/温泉/美味しいもの/布団の中 ◆目標:ブログを毎日更新目指します!