【4 weeks challenge – Python】Day 16 CSVからDictReaderで読み込み、一部の列だけ出力する

daily_trial

こんにちは、しらすです。

16日目です。本日の習得スキルは「CSVからDictReaderで読み込み、一部の列だけ出力する」です!

CSVからDictReaderで読み込み、一部の列だけ出力するでできること

CSVからDictReaderで読み込んだデータに対して、所定のkeyの列データをcsvに出力することができます。

使い方

mport csv

#CSVから読み込み、一部の列だけ出力する
with open("./day13_excel/sample.csv") as csv_file:
    input1 = csv.DictReader(csv_file)
    
    result = []
    result.append("name")
    for row in input1:
        result.append(row["name"])

with open("./day16_csv/sample1.csv", "w") as out_file:
    for out_line in result:
        out_file.write(out_line + "\n")

とても不細工なコードですが、DictReaderで読み込んだ状態から、所定のkeyを利用してデータを抽出、出力しています。

結果

一度出力用のlistを作成したうえで、ファイルを上書きできる状態で開き、作成した出力用のlistを一行一行書き込むという泥臭い処理になってしまいました。特に出力の部分については、ListをCSVに上手く出力する方法について次回探していきたいと思います。

参考

PythonでCSVデータをdict型として読み込む方法を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン
初心者向けにPythonでCSVデータをdict型として読み込む方法について現役エンジニアが解説しています。dict型は辞書型とも呼ばれるデータの形式をcsvモジュールのDictReader関数を使うことで、dict型として読み込めます。

コメント