【4 weeks challenge – Python】Day 15 python標準のcsv読み込みライブラリ

daily_trial

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

15日目です。本日の習得スキルは「python標準のcsv読み込みライブラリで読み込む」です!

python標準のcsv読み込みライブラリで読み込むでできること

先日はpandasを使用して読み込みを行いましたが、pandasはもともとデータ解析用のライブラリのためcsv読み込みに特化したものではありません。それでもpandasで読み込んだ方が個人的には色々便利なので、それで十分な気はしていますが、、、

ということで今回は少し戻って、python標準のライブラリでcsvを読み込むということを勉強しておきたいと思います。

使い方

import csv

#python標準のcsv読み込みライブラリで読み込む
with open("./day13_excel/sample.csv") as csv_file:
    #リスト形式
    input1 = csv.reader(csv_file)

    print("header  = ",next(input1))
    for i,row in enumerate(input1):
        print("row {}   = ".format(i+1), row)

結果

イテレータで読み込まれます。

※表示する際はheadterをnext関数で先に取り出しておいてから、残りをfor文で回しています。

おためし編

csv.DictReaderを使用して辞書型で読み込む

標準csv読み込みライブラリの中には辞書型で読み込めるものもあります。

with open("./day13_excel/sample.csv") as csv_file:
    #辞書形式
    input2 = csv.DictReader(csv_file)

これを使うと、上記のように一行目をラベルとした辞書型で読み込めます。pandasのpd.read_csv()に近い形になります。

単純なread()を使うとどうなるか

テキストの読み込みの時に使用したread()を使ってみます。

with open("./day13_excel/sample.csv") as f:
    result = f.read()

read()を使用するとリスト型で取得することができました。一番使いやすいのはDictReaderかなと思います。

参考

csvの読み出しについてはこちらを参考にしました。

pythonでのcsvファイルの読み込み - Qiita
はじめに csvファイルを読み込みたいときは多々あると思います。 pythonでのcsvファイルの読み込み方。また、読み込んだデータの扱い方についてまとめていきます。 注意 この記事の中で読み込むCSVファイルは、以下のフ...

next関数の使い方はこちら

イテラブル、イテレータとは何かについてはこちら

コメント