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