【Python】第6章第4回:CSVファイルの読み書き
本記事では、PythonでのCSVファイル操作について解説します。データ処理で頻繁に使用されるCSV形式のファイルを、簡単に読み書きする方法を学びます。
0. 記事の概要
この記事を読むメリット
- CSVファイルの基礎を理解:構造や用途を把握できます。
- 実践的な操作を習得:Pythonを使ったCSVファイルの読み書きを学べます。
- エラー処理のスキル向上:CSV操作時の注意点やエラー対策を理解できます。
この記事で学べること
- CSVファイルの基礎知識
- PythonでのCSVファイル読み書き方法
- エラー処理と応用例
1. CSVファイルとは?
1.1 定義と特徴
CSV(Comma-Separated Values)は、カンマ区切りのテキストデータを扱うファイル形式です。データをシンプルに保存し、多くのアプリケーションと互換性があります。
1.2 主な用途
- データのインポートとエクスポート
- シンプルなデータ共有
- スプレッドシートソフトウェアとの連携
2. CSVファイルを読み込む方法
2.1 Pythonでの読み込み
Pythonでは、標準ライブラリのcsv
モジュールを使用してCSVファイルを読み込むことができます。
2.2 基本的なコード例
# CSVファイルを読み込む
import csv
with open("example.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row) # 各行をリストとして出力
動作解説
csv.reader
を使用してファイルの各行をリストとして読み込みます。for
ループで行ごとにデータを処理します。with
文を使用してリソースを自動解放します。
3. CSVファイルを書き込む方法
3.1 Pythonでの書き込み
csv.writer
を使用して、データをCSV形式でファイルに書き込むことができます。
3.2 基本的なコード例
# CSVファイルに書き込む
import csv
with open("output.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["名前", "年齢", "職業"]) # ヘッダー行を書き込む
writer.writerow(["田中", 30, "エンジニア"])
writer.writerow(["山田", 25, "デザイナー"])
動作解説
csv.writer
を使用してデータを行単位で書き込みます。writer.writerow
を使って1行ずつデータを追加します。newline=""
を指定することで不要な空行を防ぎます。
4. 練習問題
以下の課題に挑戦してみましょう。
- 任意のデータを含むCSVファイルを作成し、書き込んでください。
- 作成したCSVファイルを読み込み、内容を表示してください。
- エラー処理を組み込んだCSVファイル操作を実装してください。
5. 練習問題の解答と解説
問1〜3の解答例
# 問1: CSVファイルの作成と書き込み
import csv
with open("data.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["商品", "価格", "在庫"])
writer.writerow(["リンゴ", 100, 50])
writer.writerow(["バナナ", 150, 30])
# 問2: CSVファイルの読み込み
with open("data.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)
# 問3: エラー処理付きCSV操作
try:
with open("nonexistent.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)
except FileNotFoundError:
print("ファイルが見つかりません。")
6. まとめ
本記事では、PythonでのCSVファイル操作を学びました。この知識を活用して、データのインポートやエクスポートを効率化してください。