
51
3.4 CSV、TSV、行 / 列データ形式
cols = nobel_winners[0].keys() #
❶
cols.sort() #
❷
with open('data/nobel_winners.csv, 'w') as f: #
❸
f.write(','.join(cols) + '\n') #
❹
for o in nobel_winners:
row = [str(o[col]) for col in cols] #
❺
f.write(','.join(row) + '\n')
❶ 最初のオブジェクトのキーからデータ列を取得する(つまり、
['category', 'name', ... ]
)
❷ この列をアルファベット順にソートする。
❸
Python
の
with
文を使い、このブロックを離れたときや例外が発生した場合にファイルを閉じるよ
うにする。
❹
join
は文字列のリスト(ここでは
cols
)から連結文字列を作成し、最初の文字列で連結する(つま
り 、「
category,name,...
」)。
❺
nobel_winners
のオブジェクトへの列キーを使ってリストを作成する。
これで
CSV
ファイルが作成できたので、
Python
を利用してこのファイルを読み込み、正しく実
行できることを確認します。
with open('data/nobel_winners.csv') as f:
for line in f.readlines():
print(line), #
❶
Out:
category,name,nationality,sex,year ...