出日本記 -Exodus-

働く母、家族でアメリカ移住計画を綴ります

csvファイルの読み書き 2/10追記

この演習からの備忘録。

f:id:ekaterina2:20190209005437p:plain

 

CSVファイル形式を読み書きするのに使うモジュール類

 
上記のモジュールにはreader/writerオブジェクトが実装されており、csv形式のファイルを読み書きできる。
また、DictReader, DictWriterクラスを使って辞書形式で読み書きできる。
 
演習のお題から 
def read_csv(filename):
    with open(filename, 'rb') as f:
        reader = unicodecsv.DictReader(f)    #モジュール名.関数名でreaderオブジェクト生成
        return list(reader) #辞書型で読み込まれたオブジェクトをリスト型に変換して返す
 
 
 集合型 set
  • セットは集合を表すデータ型
  • リスト等と同様に複数の要素をもつ
  • 集合なので、リストとは異なり要素は順番持たない
  • 重複した要素は取り除かれる
 
 演習のお題から
unique_enrolled_students = set()    #空の集合(set)型をまず生成
for enrollment in enrollments:    #①
    unique_enrolled_students.add(enrollment['account_key'])    #②
len (unique_enrolled_students)    #集合型の長さ(=要素の数)を調べる=生徒数の抽出
 
イテレータ(iterator=反復子)forを使ってリスト型オブジェクトを1要素ずつ操作
②集合型unique_enrolled_studentsに、リストの1要素enrollmentの'account_key'の値を追加。ポイントは、重複する値は排除されること。
 
他に覚えておくこと
  • インデントは重要。ブロックの区切りをインタプリタが理解できるようにすること。