はじめに
Pythonでたまにスクリプトを書くときに、いつも忘れて調べなおすのが、「ファイルの読み込み方法」です。
特に読み込んだファイルを1行ずつに分けることが多いのでその手順のメモです。
(これに関してはいつもGoogleで調べているのでいい加減作業メモとして残した方がいいと思いました)
サンプルコード
ファイルを読み込む時は
- ファイル全体を一度に読み込む
- ファイルを1行ずつに分けて読み込む
- ファイルを1行ずつに分けてリストに分ける
という方法があります。
よく使うのが3つ目の「リストに分ける」方法だと思います。
読み込むファイルを「read_file.txt」とし、サンプルコードを「read_file_test.py」とします。
「read_file.txt」は5行のシンプルなテキスト
1行目
2行目
3行目
4行目
最後の行
ファイル読み込みを行うソースコードは以下の通りです。
file_pathに代入するファイルパスはご自身の環境に合わせて変更してください
# read_file_test.py
# ファイルパスを指定する
file_path = "/Users/user/Desktop/desktop/programing/python/read_file.txt"
with open(file_path, mode="r", encoding="utf-8") as f:
lines = f.readlines()
for row in lines:
print(row, end="")
with open()はファイルのオープンクローズを自動で行ってくれるので便利です。
modeは不要でそのまま”r”でも可能です。
“r”は「read」の略で読み込みの場合はこれを指定します。
encoding(エンコーディング)は指定しなくても読み込みはしますが、入れておいた方がいいです(文字化け問題を避けるため、明示的に指定しましょう。Pythonはutf-8を使っているので特段の理由がなければこちらを指定)
「as」を使うことで(例では)fという名前で色々な操作ができるようになります。
名前は別に「f」でなくても好きなものを指定出来ます。
readlinesはファイルを分割する際にリストに保持します。
なのでlinesには1行ごとに分けられた文字列がリスト型として入っています。
これを実行すると
1行目
2行目
3行目
4行目
最後の行
と1行ごとにファイルの出力が出来ていることが確認出来ます。
ループを用いることで必要に応じて色々な操作ができるようになります。
さいごに
今回はpythonでファイルの読み込み方法についてでした。
個人的にファイルの読み込み処理はかなり頻繁に使うのでいい加減メモに残しました(状況に応じて使うプログラムが違ったり、プログラムと関係ない仕事をしたりと常にpythonを使うわけではないのでたまに忘れます)
この記事がお役にたったのならば嬉しいです。
最後までお読みいただきありがとうございました。