ここではCSVファイルからデータを読み込み、DataGridViewに表示します。 SQLを使った方が本格的で良いのかもしれませんが、冗長ですし、いろいろな参考書にも具体例が載っているので今回はお手軽な方法を取る事にしました。
今回は次のようなCSVファイル(05_form_databinding.csv)をあらかじめ作成しておきました。
05_form_databinding.csv
name,age,address yasu,20,AizuWakamatsu abe,25,Yokohama
"05_form_databinding.csv"ファイルを読み込み、DataGridViewに表示するアプリケーションを作成します。
05_form_databinding.ipy
# coding=Shift_JIS # IronPython Example: DataGridView # - # @author: YasuhiroABE <yasu@yasundial.org> # @see: DataGridView Class Example from MSDN API Reference # import clr clr.AddReferenceByPartialName("System.Windows.Forms") clr.AddReferenceByPartialName("System.Drawing") clr.AddReferenceByPartialName("System.Data") import System from System.Windows.Forms import Form from System.Windows.Forms import DataGridView from System.Data import DataTable from System.IO import StreamReader from System.Drawing import Size form = Form() form.Size = Size(400,180) form.Text = "Hello World!" ## 静的にファイル名を指定します filename = "05_form_databinding.csv" ## setup DataTable object dt = DataTable() reader = StreamReader(filename) cols = [] for c in reader.ReadLine().split(","): dt.Columns.Add(c, System.Type.GetType("System.String")) cols.append(c) l = reader.ReadLine() while(l != None): row = dt.NewRow() counter = 0 for item in l.split(","): row[cols[counter]] = item counter += 1 dt.Rows.Add(row) l = reader.ReadLine() reader.Close() ## setup DataGridView object datagridview = DataGridView() datagridview.DataSource = dt datagridview.Size = form.Size form.Controls.Add(datagridview) System.Windows.Forms.Application.Run(form) ## end ##
コードをみれば単純にカンマで区切っただけで、いわゆるRFC4180なCSVファイルの処理ができるわけではありません。 残念ながらIronPythonにはCPythonでは使えるcsv.pyが附属しないため、IronPythonで使えるCSVファイルの取り扱いについては、また後で試すつもりです。
Created: 2010-03-11, Last modified: 2010-03-19
www.yasundial.org by
Yasuhiro ABE
is licensed under a Creative Commons Attribution 2.1 Japan License.
Permissions beyond the scope of this license may be available at http://www.yasundial.org/info/license.html.