【Pythonファイル操作入門】テキスト・CSV・バイナリファイルの読み書きをマスターしよう!

※関数の書き方・実行結果に誤りがあるケースがあります。随時修正中です。また誤りに気づかれた方はこちらからご連絡頂きますとめちゃ嬉しいです。

目次

こんにちは!Pythonのファイル入出力の世界へようこそ!

今日はPythonを使ってファイルの入出力について学ぶで!これ、プログラミングの基本中の基本やけど、めっちゃ便利なスキルやねん。たとえば、データを保存したり、読み込んだりするのにファイルがあったら、すごく効率的やん。

メリット

  • データの保存:プログラムで生成したデータをファイルに保存できるから、後で使えるんや。
  • データの共有:ファイルを介して他の人とデータを簡単に共有できるで。
  • プログラムの効率化:毎回データを入力する手間が省けるから、時間の節約にもなるな。

例え話

思い出してみてな。おばあちゃんが作ったおはぎのレシピをノートに書いてるとするやん。ノートに書いておくことで、次回も同じおはぎが作れるし、友達にも教えられるやろ?ファイル入出力もそれと同じで、データを「ノート」に書き込んだり、読み込んだりする作業なんや。

さあ、早速ファイル入出力の基礎を学んでいこうか!

ファイルのオープンとクローズ:with文の使用

ファイルを扱うとき、まずはそのファイルを「オープン」せなあかん。オープンすることで、プログラムがそのファイルにアクセスできるようになるんや。そして、作業が終わったら「クローズ」して、リソースを解放する必要があるで。

with文の使い方

そこで登場するんが、with文や。この文を使うと、ファイルをオープンした後、自動的にクローズしてくれるから、便利やねん。これを使わへんと、忘れてクローズせんかったら、メモリリークの原因になったりするから気をつけなあかんで。

基本的な使い方

with文を使ったファイルのオープンとクローズの基本的な書き方はこんな感じや:

with open('sample.txt', 'r') as file:
    content = file.read()

ここで、open関数を使ってsample.txtというファイルをオープンしてる。'r'は読み込みモードを示してるで。fileはそのファイルオブジェクトや。with文のブロックが終わると、自動的にファイルがクローズされるから、めっちゃ便利やろ?

まとめ

with文を使うことで、ファイルのオープンとクローズをスムーズに行えるんや。これからファイルを扱うときは、ぜひこの方法を使ってみてな!

テキストファイルの読み込み:read(), readline(), readlines()

さあ、次はテキストファイルの読み込み方について学ぼうか!ファイルをオープンしたら、いろんな方法でデータを読み込むことができるで。ここでは、read(), readline(), readlines()の3つのメソッドを紹介するわ。

read()

read()はファイル全体を一気に読み込むメソッドや。これを使うと、ファイルの内容を全部取得できるで。

with open('sample.txt', 'r') as file:
    content = file.read()
    print(content)

このコードやったら、sample.txtの内容が全部contentに読み込まれて、画面に表示されるんや。

readline()

次はreadline()。これはファイルの1行だけを読み込むメソッドや。ファイルの内容を1行ずつ読みたいときに便利やで。

with open('sample.txt', 'r') as file:
    line = file.readline()
    print(line)

このコードやったら、1行目だけが表示されるねん。次に読むときはもう1回readline()を使えば、次の行が読まれるで。

readlines()

最後にreadlines()。これはファイル全体を行ごとにリストとして読み込むメソッドや。行ごとに分けて処理したいときに便利やねん。

with open('sample.txt', 'r') as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())  # strip()で余分な空白を削除

このコードやったら、ファイルの全行がリストとしてlinesに格納され、1行ずつ表示されるで。

まとめ

  • read()はファイル全体を読み込む。
  • readline()は1行ずつ読み込む。
  • readlines()は全行をリストとして読み込む。

この3つのメソッドを使い分けて、必要なデータを効率よく読み込んでいこうや!

テキストファイルの書き込み:write(), writelines()

今回は、テキストファイルにデータを書き込む方法を学ぼう!ファイルにデータを保存するためには、書き込みモードでファイルをオープンして、write()writelines()メソッドを使うんや。

write()

まずはwrite()メソッドや。これは、指定した文字列をファイルに書き込むためのもので、ファイルの中身を上書きすることもできるで。

with open('sample.txt', 'w') as file:
    file.write('こんにちは!これは新しいテキストです。')

このコードやったら、sample.txtに指定した文字列が書き込まれるねん。もしファイルが既に存在してたら、その内容は上書きされてしまうから注意せなあかんで!

writelines()

次にwritelines()や。これは、リストの各要素をファイルに書き込むときに使うメソッドや。複数行を書き込みたいときに便利やで。

lines = ['1行目のテキスト\n', '2行目のテキスト\n', '3行目のテキスト\n']

with open('sample.txt', 'w') as file:
    file.writelines(lines)

このコードやったら、linesリストの内容がsample.txtに書き込まれるんや。各行の後に\nをつけることで、改行を入れるのを忘れんようにしような!

追記モード

もし既存のファイルに新しいデータを追加したい場合は、書き込みモードの代わりに追記モード('a')を使うとええで。

with open('sample.txt', 'a') as file:
    file.write('これは追記されたテキストです。')

このコードは、既存の内容の後に新しいテキストが追加されるんや。

まとめ

  • write()は文字列をファイルに書き込む。
  • writelines()はリストの内容をファイルに書き込む。
  • 追記モードを使うと、既存のファイルにデータを追加できる。

これで、ファイルにデータを書き込む基本がマスターできたで!さあ、次はCSVファイルの読み書きに進もうか!

CSVファイルの読み書き:csvモジュールの使用

次は、CSVファイルを扱う方法について学ぼう!CSV(カンマ区切り値)ファイルは、データを表形式で保存するのに便利やから、よく使われるんや。Pythonには、CSVファイルを簡単に扱えるcsvモジュールが用意されてるで。

CSVファイルの読み込み

まずは、CSVファイルを読み込む方法や。csv.readerを使うことで、CSVファイルの内容を行ごとに読み込むことができるで。

import csv

with open('sample.csv', 'r', encoding='utf-8') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

このコードやったら、sample.csvの各行がリストとして取得され、1行ずつ表示されるんや。encoding='utf-8'は文字コードの指定やから、日本語を含むファイルを扱うときは忘れんようにしような。

CSVファイルの書き込み

次は、CSVファイルにデータを書き込む方法や。csv.writerを使って、行ごとにデータを追加していくで。

import csv

data = [
    ['名前', '年齢', '職業'],
    ['山田', '30', 'エンジニア'],
    ['田中', '25', 'デザイナー'],
]

with open('sample.csv', 'w', encoding='utf-8', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

このコードやったら、dataの内容がsample.csvに書き込まれるんや。newline=''を指定することで、余分な改行が入らんようにできるで。

まとめ

  • csv.readerを使ってCSVファイルを行ごとに読み込む。
  • csv.writerを使ってデータをCSVファイルに書き込む。
  • 文字コードや改行の設定に注意して、正しくデータを扱おう!

これでCSVファイルの基本的な読み書きができるようになったで!次は、バイナリファイルの操作に進もうか!

バイナリファイルの操作:pickle モジュールの使用

さて、次はバイナリファイルの操作について学ぼう!バイナリファイルは、データを効率よく保存したり、読み込んだりするのに便利やねん。Pythonには、そんなバイナリデータを扱うためのpickleモジュールがあるで。

バイナリファイルの書き込み

まずは、バイナリファイルにデータを書き込む方法や。pickle.dump()を使って、オブジェクトをファイルに保存することができるで。

import pickle

data = {'名前': '山田', '年齢': 30, '職業': 'エンジニア'}

with open('data.pkl', 'wb') as file:  # wbは書き込みバイナリモード
    pickle.dump(data, file)

このコードやったら、data辞書がdata.pklというバイナリファイルに書き込まれるんや。'wb'は書き込みバイナリモードを意味するから、必ず指定せなあかんで。

バイナリファイルの読み込み

次は、バイナリファイルからデータを読み込む方法や。pickle.load()を使って、保存したオブジェクトを復元することができるで。

import pickle

with open('data.pkl', 'rb') as file:  # rbは読み込みバイナリモード
    loaded_data = pickle.load(file)
    print(loaded_data)

このコードやったら、data.pklからデータが読み込まれて、元の辞書オブジェクトが復元されるんや。'rb'は読み込みバイナリモードやから、これも必ず指定しような。

まとめ

  • pickle.dump()を使ってバイナリファイルにデータを書き込む。
  • pickle.load()を使ってバイナリファイルからデータを読み込む。
  • 書き込みモードは'wb'、読み込みモードは'rb'を使うことを忘れんように!

これでバイナリファイルの基本的な操作ができるようになったで!これからは、ファイルを使ったデータの保存や読み込みがもっとスムーズになるはずや!次のステップに進む準備ができたら、どんどんやってみてな!

【Pythonファイル操作入門】テキスト・CSV・バイナリファイルの読み書きをマスターしよう!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次