Pythonでデータを扱う際、最もよく利用される形式の一つがCSVファイルです。本記事では、PythonでCSVファイルを読み書きする方法を初心者向けにわかりやすく解説します。基本操作から応用テクニック、エラー対策まで幅広く学べます。
CSVファイルとは?基本を理解しよう
CSV(Comma Separated Values)ファイルは、データをカンマ区切りで保存するシンプルな形式です。ExcelやGoogleスプレッドシートでも開けるため、多くの現場で利用されています。Pythonでは標準ライブラリのcsv
モジュールを使うことで、外部ライブラリをインストールしなくても手軽に扱えます。さらに、大規模データ分析ではpandas
ライブラリと組み合わせることも多いため、基本を押さえておくことはとても重要です。
PythonでCSVを書き込む方法
基本的な書き込み
Pythonでリストや辞書をCSVファイルに保存するには、csv.writer()
を使います。以下のサンプルコードを見てみましょう。
import csv
data = [
["名前", "年齢", "言語"],
["Taro", 25, "Python"],
["Hanako", 30, "Java"]
]
with open("data.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerows(data)
このコードでは、リストのリストをそのままCSVに保存しています。newline=""
を指定することで、改行が二重になるのを防げます。また、文字化けを避けるためにencoding="utf-8"
を忘れずに指定しましょう。
辞書型のデータを書き込む
列名を持つデータを保存したい場合はcsv.DictWriter()
を使います。
import csv
data = [
{"名前": "Taro", "年齢": 25, "言語": "Python"},
{"名前": "Hanako", "年齢": 30, "言語": "Java"}
]
with open("dict_data.csv", "w", newline="", encoding="utf-8") as f:
fieldnames = ["名前", "年齢", "言語"]
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
writeheader()
でヘッダー行を追加できるため、表形式データの保存に適しています。
PythonでCSVを読み込む方法
基本的な読み込み
CSVファイルをPythonで読み込む場合、csv.reader()
を使用します。
import csv
with open("data.csv", "r", encoding="utf-8") as f:
reader = csv.reader(f)
for row in reader:
print(row)
このコードでは、CSVの各行をリストとして読み込みます。したがって、リストのインデックスを指定すれば、個別の値を簡単に取り出せます。
辞書として読み込む
列名をキーにしてアクセスしたい場合はcsv.DictReader()
が便利です。
import csv
with open("dict_data.csv", "r", encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["名前"], row["年齢"])
この方法を使えば、列名を指定して直感的にデータを操作できます。
応用テクニック
pandasを使った高速なCSV操作
大量のデータを扱う場合は、pandas
ライブラリを利用すると効率的です。
import pandas as pd
# CSVの読み込み
df = pd.read_csv("data.csv")
# CSVの書き込み
df.to_csv("output.csv", index=False, encoding="utf-8")
pandas
を使えばデータ分析や加工がスムーズに行えます。特に数万行以上のデータを扱う際には欠かせないライブラリです。
よくあるエラーと対処法
- 文字化け:エンコーディングを
utf-8
に指定することで解決できます。 - 改行が増える:
newline=""
を指定して防ぎましょう。 - カンマが含まれるデータ:
quotechar='"'
を指定すると正しく保存できます。
CSVを活用する具体的なシーン
CSVはデータの受け渡しに広く使われています。例えば、営業リストの管理、システム間のデータ連携、機械学習用データの前処理などです。したがって、PythonでCSV操作を習得すれば、業務効率化や分析スキルの向上に直結します。
Python初心者におすすめのサービス
「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、
テックアカデミーがおすすめです。
AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。
さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。
また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富なPython講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。
書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。
また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験やPythonの知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。
こちらのリンクから詳細をチェックしてみてください。
まとめ
Pythonでは標準ライブラリやpandas
を使うことで、CSVファイルの読み書きを柔軟に行えます。基本操作に加えて、エラー対策や応用テクニックを知っておくと実務で役立ちます。今のうちにしっかり習得しておきましょう。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

コメント