【Python】ファイル操作

Python

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を扱う

ファイル操作はプログラミングの基本スキルの一つです。まずは簡単なファイルを作成し、データを読み書きしてみましょう!

タイトルとURLをコピーしました