こんにちは、しらすです。
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ファイルの読み込み方。また、読み込んだデータの扱い方についてまとめていきます。注意この記事の中で読み込むC…
next関数の使い方はこちら。
イテラブル、イテレータとは何かについてはこちら。
コメント