Pythonには、簡単にファイルを読み書きする機能が備わっています。今回は、Pythonのファイル操作の基本を解説し、実際に使えるサンプルコードも紹介します。ファイルを扱う方法をしっかり身につけることで、データの保存やログ管理ができるようになり、Pythonの活用範囲が広がります。
Pythonでファイルを扱う基本
Pythonでファイルを開くには、open() 関数を使います。基本の構文は次の通りです。
file = open("sample.txt", "r") # ファイルを開く
content = file.read() # ファイルの中身を読み込む
print(content)
file.close() # ファイルを閉じる
open() のモード一覧
open() を使うとき、どのようにファイルを扱うかを指定するモードがあります。
モード | 説明 |
“r” | 読み取り専用(デフォルト) |
“w” | 書き込み専用(上書き) |
“a” | 追記モード(既存の内容を保持しつつ追加) |
“x” | 新規作成専用(ファイルが既に存在する場合はエラー) |
“b” | バイナリモード(画像や動画などのファイルを扱う) |
“t” | テキストモード(デフォルト) |
例えば、書き込み専用のモード “w” で開くと、上書きされ、既存のファイルの内容が消えてしまうため注意が必要です。
ファイルを開いて読み込む
ファイルを開いて読み込む方法はいくつかあります。
read() で全文を読み込む
with open("sample.txt", "r") as file:
content = file.read()
print(content)
この方法では、with を使ってファイルを開くため、自動的にファイルを閉じることができます。
readline() で1行ずつ読み込む
with open("sample.txt", "r") as file:
line = file.readline() # 最初の1行だけ読む
print(line)
readlines() ですべての行をリストとして取得
with open("sample.txt", "r") as file:
lines = file.readlines() # 各行をリストで取得
print(lines)
ファイルに書き込む
write() で書き込む
ファイルに書き込むには “w” モードを使います。
with open("output.txt", "w") as file:
file.write("Pythonでファイルを書き込みました。\n")
※ “w” モードは既存の内容を消して上書きするため、重要なデータを消してしまわないよう注意してください。
writelines() でリストをまとめて書き込む
複数行を書き込む場合は writelines() を使うと便利です。
lines = ["1行目\n", "2行目\n", "3行目\n"]
with open("output.txt", "w") as file:
file.writelines(lines)
ファイルに追記する
既存のファイルの内容を保持しながら、新しくデータを追加したい場合は “a” モードを使います。
with open("output.txt", "a") as file:
file.write("追記しました。\n")
“\n” はWindowsの改行コードです。改行コードを入れると、次の行に書き込みます。改行コードがない場合は、最終行に連続して書き込みます。
ファイルの存在を確認する
ファイルが存在するかどうかを確認してから開く方法もあります。
import os
if os.path.exists("sample.txt"):
with open("sample.txt", "r") as file:
print(file.read())
else:
print("ファイルが存在しません")
CSVファイルを扱う
CSVファイルを読み込む
Pythonの csv モジュールを使うと、CSVファイルを簡単に扱えます。
import csv
with open("data.csv", "r", encoding="utf-8") as file:
reader = csv.reader(file)
for row in reader:
print(row)
CSVファイルに書き込む
import csv
data = [
["名前", "年齢", "職業"],
["田中", "30", "エンジニア"],
["佐藤", "25", "デザイナー"]
]
with open("data.csv", "w", newline="", encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerows(data)
JSONファイルを扱う
JSON形式は、Pythonの辞書(dict)をそのまま保存・読み込みできるため、データのやり取りに便利です。
JSONファイルに書き込む
import json
data = {"name": "田中", "age": 30, "job": "エンジニア"}
with open("data.json", "w", encoding="utf-8") as file:
json.dump(data, file, ensure_ascii=False, indent=4)
JSONファイルを読み込む
import json
with open("data.json", "r", encoding="utf-8") as file:
data = json.load(file)
print(data)
まとめ
この記事では、Pythonの基本的なファイル操作について説明しました。
✅ open() を使ってファイルを開く
✅ read(), readline(), readlines() でファイルを読む
✅ write(), writelines() でファイルに書く
✅ “a” モードでファイルに追記する
✅ os.path.exists() でファイルの存在を確認する
✅ csv モジュールを使ってCSVを扱う
✅ json モジュールを使ってJSONを扱う
ファイル操作はプログラミングの基本スキルの一つです。まずは簡単なファイルを作成し、データを読み書きしてみましょう!