Pythonでファイル(file)を読み込む方法
Pythonでファイルを読み込むには、open()
関数を使用します。open()
関数はファイルオブジェクトを返し、これを使って様々な読み込み操作が可能になります。ファイルを開く際には、ファイルパスとモードを指定することが重要です。
open()
関数の第一引数にはファイルパス、第二引数にはモードを指定します。読み込みモードには'r'
(読み込み専用)を使用し、テキストファイルのエンコーディングを指定する場合はencoding
パラメータを追加します。
【サンプルコード】
# ファイルを開いて内容を読み込む
file_path = 'example.txt'
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
print(content)
with open(...) as file:
はファイル操作後、自動的にファイルを閉じるための構文でclose処理が不要になります。file.read()
はファイルの内容全体を文字列として読み込みます。
encoding='utf-8'
は、UTF-8エンコーディングでファイルを開くことを指定しています。日本語を含むファイルを扱う際は重要であり、ファイルが存在しない場合はFileNotFoundErrorが発生します。ファイルパスは相対パス、絶対パスのどちらでも指定可能です。
Pythonでファイル(file)を行ごとに読み込む方法
ファイルの内容を行ごとに読み込むには、readline()
メソッド、readlines()
メソッド、またはファイルオブジェクトを直接イテレートする方法があります。readline()
は1行ずつ読み込み、readlines()
はファイル全体を行のリストとして読み込みます。
大きなファイルを扱う場合、メモリ効率の観点から、ファイルオブジェクトを直接イテレートする方法が推奨されます。この方法では、ファイル全体を一度にメモリに読み込まず、1行ずつ効率的に処理できます。
【サンプルコード】
# ファイルを行ごとに読み込む
file_path = 'example.txt'
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
print(line.strip()) # 改行を除去して出力
for line in file:
でファイルオブジェクトを直接イテレートすると、ファイルの内容が1行ずつ変数line
に読み込まれます。line.strip()
は、各行の先頭と末尾にある空白文字(改行文字を含む)を削除します。
readline()
を使う場合は、whileループと組み合わせてEOF(End of File)まで読み込む処理を記述します。readlines()
を使うと、各行を要素とするリストが返されますが、大きなファイルの場合はメモリを大量に消費する可能性があるので注意しましょう。
Pythonで特定のデータ形式のファイル(file)を読み込む方法
CSVファイルやJSONファイルなど、特定のデータ形式のファイルを読み込む場合、Pythonの標準ライブラリを活用します。CSVファイルの場合はcsv
モジュールを、JSONファイルの場合はjson
モジュールを使用することで、効率的にデータを扱うことができます。
これらのモジュールを使用することで、データの構造を保ったまま読み込みが可能になる上に、データの解析や加工も容易になるため、データ処理タスクの効率が大幅に向上します。
【サンプルコード】
import csv
import json
# CSVファイルの読み込み
with open('data.csv', 'r', newline='', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)
# JSONファイルの読み込み
with open('data.json', 'r', encoding='utf-8') as jsonfile:
data = json.load(jsonfile)
print(data)
CSVファイルの読み込みでは、csv.reader(csvfile)
でCSVファイルを読み込むためのリーダーオブジェクトを作成します。for row in reader:
で各行をリストとして取得できます。newline=''
は改行コードの扱いの差異による問題を避けるための指定で、特にWindows環境で重要です。
JSONファイルの読み込みでは、json.load(jsonfile)
でJSONファイルの内容を読み込み、Pythonの辞書やリストなどのオブジェクトに変換します。JSONファイルが不正な形式の場合、json.JSONDecodeError
が発生します。
CSV・JSONファイル共に、ファイルの内容や構造に応じて適切な処理を行う必要があるので、この点は頭の片隅に入れておきましょう。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- 【Python】リスト(list)を初期化する方法を簡単に解説
- 【Python】format関数とf文字列で桁数を指定する方法を解説
- 【Python】null判定をする基本的な方法を解説
- 【Python】テキスト(txt)ファイルに書き込みをする方法