Pythonでcsvデータを辞書形式で読み込む方法
Pythonでcsvデータを辞書形式で読み込む方法をご紹介します。
目次
条件
- Python 3.7.0
前提
以下のようなcsvファイルを読み込むものとします。
ファイル名:data.csv
data_datetime,temperature,humidity,location_id 2018-12-16 00:00:00,5,10,1 2018-12-16 01:00:00,1,50,1 2018-12-16 02:00:00,5,20,1 2018-12-16 03:00:00,10,70,1 2018-12-16 04:00:00,15,20,1 2018-12-16 00:00:00,25,80,2 2018-12-16 01:00:00,12,20,2 2018-12-16 02:00:00,5,50,2 2018-12-16 03:00:00,30,30,2 2018-12-16 04:00:00,15,70,2
辞書形式でのcsvデータ読み込み
- ポイント
- csv.DictReader()を使用します。
ソース
import csv with open('data.csv', newline='') as csvfile: reader = csv.DictReader(csvfile) for row in reader: print(row)
実行結果
OrderedDict([('data_datetime', '2018-12-16 00:00:00'), ('temperature', '5'), ('humidity', '10'), ('location_id', '1')]) OrderedDict([('data_datetime', '2018-12-16 01:00:00'), ('temperature', '1'), ('humidity', '50'), ('location_id', '1')]) OrderedDict([('data_datetime', '2018-12-16 02:00:00'), ('temperature', '5'), ('humidity', '20'), ('location_id', '1')]) OrderedDict([('data_datetime', '2018-12-16 03:00:00'), ('temperature', '10'), ('humidity', '70'), ('location_id', '1')]) OrderedDict([('data_datetime', '2018-12-16 04:00:00'), ('temperature', '15'), ('humidity', '20'), ('location_id', '1')]) OrderedDict([('data_datetime', '2018-12-16 00:00:00'), ('temperature', '25'), ('humidity', '80'), ('location_id', '2')]) OrderedDict([('data_datetime', '2018-12-16 01:00:00'), ('temperature', '12'), ('humidity', '20'), ('location_id', '2')]) OrderedDict([('data_datetime', '2018-12-16 02:00:00'), ('temperature', '5'), ('humidity', '50'), ('location_id', '2')]) OrderedDict([('data_datetime', '2018-12-16 03:00:00'), ('temperature', '30'), ('humidity', '30'), ('location_id', '2')]) OrderedDict([('data_datetime', '2018-12-16 04:00:00'), ('temperature', '15'), ('humidity', '70'), ('location_id', '2')])
通常のcsvデータ読み込み
- ポイント
- csv.reader()を使用します。
ソース
import csv with open('data.csv', newline='') as csvfile: reader = csv.reader(file) for row in reader: print(row)
実行結果
['data_datetime', 'temperature', 'humidity', 'location_id'] ['2018-12-16 00:00:00', '5', '10', '1'] ['2018-12-16 01:00:00', '1', '50', '1'] ['2018-12-16 02:00:00', '5', '20', '1'] ['2018-12-16 03:00:00', '10', '70', '1'] ['2018-12-16 04:00:00', '15', '20', '1'] ['2018-12-16 00:00:00', '25', '80', '2'] ['2018-12-16 01:00:00', '12', '20', '2'] ['2018-12-16 02:00:00', '5', '50', '2'] ['2018-12-16 03:00:00', '30', '30', '2'] ['2018-12-16 04:00:00', '15', '70', '2']
参考
Python公式:CSV ファイルの読み書き
https://docs.python.org/ja/3/library/csv.html
“Pythonでcsvデータを辞書形式で読み込む方法” に対して1件のコメントがあります。