![[Python]csv.DictReaderのサンプルコード](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/11/1-284.jpg)
csv.DictReaderは、Pythonのcsvモジュールに含まれるクラスの一つです。csvファイルを読み込んで、辞書型として扱うことができます。csvファイルを扱う際に、より簡単に処理をすることができます。
csvファイルの読み込み方法
csvファイルを読み込む方法は、Pythonのcsvモジュールを使用する方法と、pandasライブラリを使用する方法があります。
csvモジュールを使用する場合は、以下のようにファイルを開いて、csv.readerで読み込むことができます。
1 2 3 4 5 | import csv with open ( 'sample.csv' ) as f: reader = csv.reader(f) for row in reader: print (row) |
pandasライブラリを使用する場合は、以下のようにread_csvメソッドを使用してファイルを読み込むことができます。
1 2 3 | import pandas as pd df = pd.read_csv( 'sample.csv' ) print (df) |
csv.DictReaderを使用したcsvファイルの読み込み方法
csv.DictReaderを使用する場合は、以下のようにファイルを開いて、csv.DictReaderで読み込むことができます。
1 2 3 4 5 | import csv with open ( 'sample.csv' ) as f: reader = csv.DictReader(f) for row in reader: print (row) |
このようにすることで、csvファイルの各行を辞書型として扱うことができます。各行の各列は、辞書型のキーとして扱われます。
csv.DictReaderで読み込んだデータを辞書型に変換する方法
csv.DictReaderで読み込んだデータを辞書型に変換する場合は、以下のようにすることができます。
1 2 3 4 5 | import csv with open ( 'sample.csv' ) as f: reader = csv.DictReader(f) data = [row for row in reader] print (data) |
このようにすることで、各行を辞書型として扱うリストが作成されます。
csv.DictReaderの利点と使いどころ
csv.DictReaderの利点は、csvファイルを辞書型として扱えることです。各行の各列をキーとして扱うことができるので、列の順序に依存せずにデータを扱うことができます。
また、csv.DictReaderを使用することで、csvファイルの読み込みやデータの加工が簡単になります。csvファイルの読み込みに必要なコードが簡単に書けるため、開発効率を向上させることができます。
使いどころとしては、csvファイルを読み込んで加工する場合や、csvファイルから必要なデータを抽出する場合などが挙げられます。
csv.DictReaderを用いたサンプルコード
以下は、csv.DictReaderを使用したサンプルコードです。sample.csvは、以下のような内容とします。
1 2 3 4 | id ,name,age 1 ,Alice, 20 2 ,Bob, 30 3 ,Charlie, 40 |
サンプルコードでは、各行のデータを辞書型として扱い、年齢が30歳以上の人のみを表示しています。
1 2 3 4 5 6 | import csv with open ( 'sample.csv' ) as f: reader = csv.DictReader(f) data = [row for row in reader if int (row[ 'age' ]) > = 30 ] for d in data: print (d) |
実行結果は以下のようになります。
1 2 | { 'id' : '2' , 'name' : 'Bob' , 'age' : '30' } { 'id' : '3' , 'name' : 'Charlie' , 'age' : '40' } |
まとめ
csv.DictReaderは、csvファイルを辞書型として扱うことができるPythonのモジュールです。csvファイルの読み込みが簡単になるため、開発効率を向上させることができます。また、各列をキーとして扱うことができるため、列の順序に依存せずにデータを扱うことができます。使いどころとしては、csvファイルを読み込んで加工する場合や、必要なデータを抽出する場合などが挙げられます。