csvを扱うには、名前もそのままの csv ライブラリが便利です。
csvを使うおおまかな流れは次のような形となります。
- ファイルオブジェクトを開く
- ファイルオブジェクトをcsv.reader()かcsv.writer()に渡す
- 生成されたcsvオブジェクトのメソッドを使う
- ファイルオブジェクトを閉じる
いちばんシンプルなcsvの読み込みは次のような感じになります。
import csv with open(FILENAME, 'r') as f: c = csv.reader(f) for row in c: print rowこの場合は各rowが配列として帰ってきます。デフォルトでは各要素は文字列なので、数値として扱いたいときには
for row in c: num_row = map(float, row) # 各要素をfloatに変換 print num_rowなどとするとよいかと思います。
先頭行がデータではなくカラム名になっているかどうかを調べたいときは、csv.Snifferクラスのhas_header()メソッドにファイルの中身を渡すこととある程度自動判定してくれます。
hasHeader = csv.Sniffer().has_header(f.read(100)) if hasHeader: # header行があるかどうか True/False print "%s has a header" % FILE f.seek(0) # 先頭に戻る
書き込みの方法や区切り文字の指定方法等々は csvライブラリ のところにも書いたので、よろしければそちらもご覧ください。
csvライブラリ
0 件のコメント:
コメントを投稿