2012年6月19日火曜日

[python]csv形式の文字列を読み込む


csv.readerの第一引数iteratorはiteratorプロトコルを実装したオブジェクトを渡せばいいので、
ファイルじゃなくて文字列をcsv.readerに渡したいときはiteratorプロトコルを実装しているStringIOオブジェクトを渡してやればできるみたい。


区切り文字とかフィードの囲み文字とかも指定できる。





# -*- coding: utf-8 -*-
from StringIO import StringIO
import csv

__author__ = 'isann'

def main():
    text = """あ い う え お
1 2 3 4 5
"改行がある
文字列だよ" 2"""
    print(text)
    csv_reader = csv.reader(StringIO(text), delimiter='\t', quotechar='"')
    for row in csv_reader:
        print(row)
#        for elem in row:
#            print(elem)

if __name__ == "__main__":
    main()


0 件のコメント:

コメントを投稿