この記事では、Pythonを使用してCSV(Comma-Separated Values)ファイルの各行をイテレート(繰り返し処理)する方法について解説します。CSVファイルは、データの表形式をテキストとして保存するのに一般的なフォーマットです。Pythonのforループと組み合わせることで、効率よくデータの読み取りや加工ができます。具体的なコード例とその解説、応用例を含めてご紹介します。
目次
基本的なイテレーション方法
PythonでCSVファイルをイテレートする基本的な方法は、`csv` モジュールを使用することです。
csv.readerを使う方法
import csv
# CSVファイルを開く
with open('sample.csv', 'r') as f:
csv_reader = csv.reader(f)
# 各行をイテレート
for row in csv_reader:
print(row)
このコードは、`sample.csv`というCSVファイルを読み込み、その内容を各行ごとに出力します。
応用例
条件を設定して特定の行だけを処理
with open('sample.csv', 'r') as f:
csv_reader = csv.reader(f)
for row in csv_reader:
# 1列目が'apple'であれば出力
if row[0] == 'apple':
print(row)
各行の特定の列だけを処理
with open('sample.csv', 'r') as f:
csv_reader = csv.reader(f)
for row in csv_reader:
# 2列目だけを出力
print(row[1])
読み込んだデータを加工して新しいCSVファイルに保存
with open('sample.csv', 'r') as f_read, open('output.csv', 'w', newline='') as f_write:
csv_reader = csv.reader(f_read)
csv_writer = csv.writer(f_write)
for row in csv_reader:
# 各要素を2倍にして新しいCSVファイルに書き込み
new_row = [str(int(x) * 2) for x in row]
csv_writer.writerow(new_row)
まとめ
PythonでCSVファイルを効率よく処理するには、forループとcsvモジュールを組み合わせる方法が有用です。今回は基本的なイテレーション方法から、条件を設定して特定の行や列を処理する方法、さらには読み込んだデータを加工して新しいCSVファイルに保存する方法までを解説しました。これを機に、Pythonを使ってより高度なデータ処理を行ってみてはいかがでしょうか。
コメント