2011年05月15日

IronPythonでCSVを読み込む

IronPythonには、pythonのモジュールであるcsvモジュールが無い。
なので、VB.NetのCSVを扱うライブラリを使う。
以下は、UTF-8のtest.csvを読み込むときのコード。

Excelからcsvを保存するとShift-JISになるので、その時はGetEncodingを「Shift_JIS」に変えればよい。

1行ずつCSVを読むときのコード

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
from __future__ import print_function

import clr
clr.AddReferenceByPartialName('Microsoft.VisualBasic')
clr.AddReferenceByPartialName('mscorlib')
from Microsoft.VisualBasic.FileIO import *
from System.Text import *
	
if __name__ == "__main__":
	parser = TextFieldParser("test.csv",Encoding.GetEncoding("UTF-8"))
	parser.TextFieldType = FieldType.Delimited;
	parser.SetDelimiters(",");
	while parser.EndOfData == False:
		print(parser.ReadFields())

まとめてCSVを読むときのコード

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
from __future__ import print_function

import clr
clr.AddReferenceByPartialName('Microsoft.VisualBasic')
clr.AddReferenceByPartialName('mscorlib')
from Microsoft.VisualBasic.FileIO import *
from System.Text import *
	
if __name__ == "__main__":
	parser = TextFieldParser("test.csv",Encoding.GetEncoding("UTF-8"))
	parser.TextFieldType = FieldType.Delimited;
	parser.SetDelimiters(",");
	print(parser.ReadToEnd())
参考
  • TextFieldParser クラス[MSDN]
タグ:Python IronPython
posted by MINE at 00:25 | Comment(0) | TrackBack(0) | IronPython | このブログの読者になる | 更新情報をチェックする | edit
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック