いももちのきもち

新米プログラマによる技術的メモ

csvモジュールを利用してファイルを読み込む

pythoncsvモジュールを利用して、ファイルの読み書きを行います。
まずファイルを読み込みます。

input.csv

id,chromosome,physical_position
WBVar00010869,IV,6377485
WBVar00010872,V,11574082
WBVar00020875,V,15406647
# -*- coding: utf-8 -*-
import csv
f = open('input.csv', 'rb')   #読み込むファイルを指定する。読み込み専用(r)かつバイナリモード(b)で開く(windows)。
data_reader = csv.reader(f)    #csv.reader()関数にファイルオブジェクトを渡す。
for row in data_reader:    #data_readerから要素をひとつずつ取り出す。
    print row
f.close()                      #ファイルオブジェクトを使い終わったのでクローズする。 
#実行結果
['id', 'chromosome', 'physical_position']
['WBVar00010869', 'IV', '6377485']
['WBVar00010872', 'V', '11574082']
['WBVar00020875', 'V', '15406647']

※別の書き方

# -*- coding: utf-8 -*-
import csv
with open('input.csv', 'rb') as f: # with文
    data_reader = csv.reader(f)
    for row in data_reader:
        print row

with文を使うと、withブロックを抜けたところで自動的にファイルのクローズを行ってくれるので、f.close()の書き忘れを防ぐことができます。with文の内部で例外が発生した場合もファイルをクローズしてくれます。

※バイナリモード/テキストモードの説明については以下の記事がわかりやすいです。
ameblo.jp