
【Python】CSVファイルを1行ずつ読み込む方法とサンプルコードを紹介
公開: 更新:PythonでCSVファイルを1行ずつ読み込む基本的な方法
【サンプルコード】
import csv
with open('example.csv', 'r') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
print(row)
【実行結果】
['header1', 'header2', 'header3']
['row1_value1', 'row1_value2', 'row1_value3']
['row2_value1', 'row2_value2', 'row2_value3']
上記のコードの1行目では、Python標準ライブラリのcsv
モジュールをインポートしています。
csv
モジュールは、CSVファイルの読み書きを簡単に行うための機能を提供しています。
2行目では、open()
関数を使ってCSVファイルを読み込みモードで開いています。
'example.csv'
は読み込むファイルの名前で、この場合は同じディレクトリに存在するファイルを指しています。
3行目では、csv.reader
を使用してファイルの内容を読み込んでいます。
csv.reader
はCSVファイルの各行をリストとして返すため、簡単にデータを扱えます。
4行目のfor
ループでは、CSVファイルの各行を1行ずつ読み込んでいます。
row
変数にはCSVの1行がリスト形式で格納され、これをprint()
関数で出力しています。
上記のコードを実行すると、CSVファイルの各行がコンソールに出力されます。
出力結果では、各行がリスト形式で表示されており、CSVファイルの構造を維持しながらデータを読み込むことができています。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
CSVファイルの各行を辞書形式で読み込む方法
【サンプルコード】
import csv
with open('example.csv', mode='r') as file:
csv_reader = csv.DictReader(file)
for row in csv_reader:
print(row)
【実行結果】
{'header1': 'row1_value1', 'header2': 'row1_value2', 'header3': 'row1_value3'}
{'header1': 'row2_value1', 'header2': 'row2_value2', 'header3': 'row2_value3'}
上記のサンプルコードでは、CSVファイルの各行を辞書形式で読み込む方法を示しています。
1行目でcsv
モジュールをインポートした後、open()
関数でCSVファイルを開きます。
3行目のcsv.DictReader
を使用すると、各行が辞書形式で読み込まれます。
ここでの辞書は、ヘッダーがキー(key)として、各行の値が値(value)として格納されます。
4行目のfor
ループでは、CSVの各行を1行ずつ辞書形式で読み込み、print()
関数で出力しています。
この方法では、CSVファイルのヘッダー情報をキーとして使用するので、データにアクセスしやすくなります。
出力結果は、CSVファイルの各行が辞書形式で表示され、ヘッダーと値が明確に対応していることがわかります。
エラーハンドリングを行いながらCSVファイルを読み込む方法
【サンプルコード】
import csv
try:
with open('nonexistent.csv', 'r') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
print(row)
except FileNotFoundError:
print('ファイルが見つかりませんでした。')
【実行結果】
ファイルが見つかりませんでした。
上記のサンプルコードでは、エラーハンドリングを使用してCSVファイルを読み込む方法を示しています。
try
ブロック内でCSVファイルを開き、内容を読み込む処理を行います。
ここで、存在しないファイル名'nonexistent.csv'
を指定しています。
ファイルが存在しない場合、FileNotFoundError
例外が発生します。
except
ブロックではこの例外を捕捉し、適切なエラーメッセージを出力します。
この方法により、ファイルが見つからない場合でもプログラムがクラッシュせず、ユーザーに明確なフィードバックを提供できます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- 【Python】仮想環境から抜ける方法
- 【Python】文字列から改行コードを除去する方法
- 【Python】10回の繰り返し処理を実装する方法
- 【Python】df(DataFrame)とは?基本的な使い方やデータ操作について解説
- 【Python】指定のファイルがあれば削除する方法
ITやプログラミングに関するニュース
- Azure SQL Managed InstanceがVector型Public Preview対応開始、AI駆動アプリケーション開発の効率化を実現
- GoogleがGmailアプリにGeminiサマリーカードを導入、メール要約の自動表示機能が利用可能に
- ZenchordとNottaが共同開発したAIイヤホンZenchord 1をMakuakeで先行公開、音声認識から議事録作成まで自動化
- Ideinが音声解析AIサービス「Phonoscape」の提供を開始、対面接客現場での会話データ活用が可能に
- Microsoftが.NET 10 Preview 4でdotnet run app.cs機能をリリース、プロジェクトファイル不要でC#実行が可能に