よくつかうcsvの処理
pythonでcsvを読み込むとき、txtとして読んでもいいのですけど、標準でcsvというモジュールがついている。それを使うとカンマの認識とかしなくていいので、楽になる。
ただ読む場合はこんな感じ。
import csv f = open("testdata.csv","rt") csvReader = csv.reader(f) for row in csvReader: #1行ごとにしたいこと print row #(例)
csvが各列で長さが違うときとか、あるいは一つの列だけを読み込みたいとか、そういう時はどうするのだろう。
一般論はわからないのだが、私はこんな感じにしてみた。
import csv f =open("testdata.csv","rt") csvReader = csv.DictReader(f) for row in csvReader: #ここに各列でしたいことを書く print row{'author']
上の例だと、csvの1行目の欄にauthorという列のところだけをprintすることになる。
DictReaderで読み込むとkeyで取得できる辞書形式になるそうだ。
やたら列があるデータなどを読み込むときに便利なのかも。