csvファイルの読み書き 2/10追記
この演習からの備忘録。
CSVファイル形式を読み書きするのに使うモジュール類
- csv : Python standard library
- unicodecsv : https://pypi.org/project/
unicodecsv/
また、DictReader, DictWriterクラスを使って辞書形式で読み書きできる。
演習のお題から
def read_csv(filename):
with open(filename, 'rb') as f:
reader = unicodecsv.DictReader(f) #モジュール名.関数名でreaderオブジェクト生成
return list(reader) #辞書型で読み込まれたオブジェクトをリスト型に変換して返す
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) #集合型の長さ(=要素の数)を調べる=生徒数の抽出
for enrollment in enrollments: #①
unique_enrolled_students.add(enrollment['account_key']) #②
len (unique_enrolled_students) #集合型の長さ(=要素の数)を調べる=生徒数の抽出
②集合型unique_enrolled_studentsに、リストの1要素enrollmentの'account_key'の値を追加。ポイントは、重複する値は排除されること。
他に覚えておくこと
- インデントは重要。ブロックの区切りをインタプリタが理解できるようにすること。