Pythonでcsvを読む処理のメモ
こんなdata.csvがあるとして
姓名,生年月日,性別 真城最高,1994/2/18,男 高木秋人,1994/1/25,男 亜豆美保,1993/11/5,女 見吉香耶,1993/6/25,女 新妻エイジ,1992/11/3,男 福田真太,1990/7/27,男 中井巧朗,1976/2/2,男 蒼樹紅,1990/3/11,女 平丸一也,1984/6/18,男
pythonでcsvファイルを読み込んで、云々する処理のメモ
ヘッダー行を飛ばしたり、ヘッダ名と値の辞書を作成するあたりがTIPSといえばTIPS。
# coding=utf-8 import csv template = 'Person(name=u"%(姓名)s", birthday="%(生年月日)s", sex=u"%(性別)s").save()' data = csv.reader(open('data.csv')) # ヘッダー行を飛ばす header = data.next() for row in data: # ヘッダー名と値の辞書を作成 # 例 {'生年月日': '1994/2/18', '姓名': '真城最高', '性別': '男'} d = dict(zip(header, row)) # 出力 # 例 Person(name=u"真城最高", birthday="1994/2/18", sex=u"男").save() print template % d
出力結果
Person(name=u"真城最高", birthday="1994/2/18", sex=u"男").save() Person(name=u"高木秋人", birthday="1994/1/25", sex=u"男").save() Person(name=u"亜豆美保", birthday="1993/11/5", sex=u"女").save() Person(name=u"見吉香耶", birthday="1993/6/25", sex=u"女").save() Person(name=u"新妻エイジ", birthday="1992/11/3", sex=u"男").save() Person(name=u"福田真太", birthday="1990/7/27", sex=u"男").save() Person(name=u"中井巧朗", birthday="1976/2/2", sex=u"男").save() Person(name=u"蒼樹紅", birthday="1990/3/11", sex=u"女").save() Person(name=u"平丸一也", birthday="1984/6/18", sex=u"男").save()