
12
章 高度なイテレーション
you are here
479
CSV
データをリストとして読み込む
CSV
データは、そのままの形式ではあまり便利ではありません。
1
行ずつ読み込ん
でカンマで区切った方が、データを取得しやすく便利です。
文字列オブジェクトの
split
メソッドを利用して、自分でコードを書いて、この
「分離」を行うこともできますが、日常的に扱う
CSV
データには、標準ライブラリにも
便利なモジュール
csv
が用意されています。
次に示したのは、
csv
モジュールの動作を示す小さな
for
ループです。
read
メ
ソッドを使ってファイルの内容全体を一気に読み込んだ前ページの例とは異なり、
for
ループ内で
csv.reader
を使って 1 行ずつ読み込んでいます。
for
ループは、
反復のたびに
CSV
データの各行を変数
line
に代入し、それを画面に表示します。
この方がよさそうです。
CSV
ファイルの
1
行が
リストになっています。
with
文で
ファイルを開いて、
csv.reader
で
1
行ずつデータを
読み
込みます。
csv
モジュールは、ここでは多くの処理を行っています。ファイルから生データを
1
行ずつ読み込み、「魔法のように」要素が
2
つのリストに変換しています。
ファイルの
1
行目のヘッダ情報だけでなく、各フライトの時刻と目的地のペアもリ
ストになっています。ここで型に注意してください。リストの
1
番目の要素は、明らか
に時刻であるにもかかわらず、すべて文字列です。
csv
モジュールには、さらにいくつかの機能があり ...