メモめもメモ

環境構築やプログラミングに関するメモ

Python3.6でcsvファイルを読む

pythonの標準ライブラリのひとつであるcsvを使うと、簡単にcsvファイルを読み込むことができます。 使い方を見ていきましょう。

CSVファイル

読み込み対象のcsvファイルとして下記のファイル(sample.csv)を使います。

name,age,height,weight
yamada,20,170,60
tanaka,30,175,70
suzuki,40,165,80

コード

csv.readerの戻り値をfor文に与えることで、csvファイルの各行をリストとして取得することができます。 また、csv.DictReaderを使うとcsvファイルの最初の行をキーとして要素にアクセスすることができます。

import csv

filename = "sample.csv"

print("-- csv.reader --")
with open(filename) as csvfile:
    csvreader = csv.reader(csvfile)
    for row in csvreader:
        print(row)

print("\n-- csv.DictReader --")
with open(filename) as csvfile:
    dict_reader = csv.DictReader(csvfile)
    for row in dict_reader:
        print("name = %s, age = %s, weight = %s, height = %s" % 
        (
            row["name"], 
            row["age"], 
            row["weight"], 
            row["height"])
        )

実行結果

-- csv.reader --
['name', 'age', 'height', 'weight']
['yamada', '20', '170', '60']
['tanaka', '30', '175', '70']
['suzuki', '40', '165', '80']

-- csv.DictReader --
name = yamada, age = 20, weight = 60, height = 170
name = tanaka, age = 30, weight = 70, height = 175
name = suzuki, age = 40, weight = 80, height = 165