【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ファイルの構造を維持しながらデータを読み込むことができています。
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で確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。







