|
■No61477 (やんまー さん) に返信 > ■No61476 (JRY さん) に返信 >>■No61471 (魔界の仮面弁士 さん) に返信 > >>>>(0,4)のように、縦と横を指定できるのが理想です。 > >>面倒なら、全データを DataTable か二次元配列に取り込んでおけば、 > >>行・列を指定してデータを取り出す事も容易になるかと思います。 > > > 魔界の仮面弁士 さんがおっしゃっているように一度二次元配列に入れれば > 変数名(0)(4)という感じで取れますよ。 > > Dim csvRecords As New System.Collections.ArrayList() > Dim tfp As New FileIO.TextFieldParser(filename, _ > System.Text.Encoding.UTF8 ) > '区切り文字を,とする > tfp.Delimiters = New String() {","} > > While Not tfp.EndOfData > 'フィールドを読み込む > Dim fields As String() = tfp.ReadFields() > '保存 > csvRecords.Add(fields) > End While > > '後始末 > tfp.Close() > > > ーーー > こんなふうにすれば > csvRecords(0)(4) > に値が入っていると思います。 >
ありがとうございました。 次のように編集しましたが、エラーが発生しました。 Dim wc As WebClient = New WebClient()
wc.DownloadFile( _ csvurl, _ savedir)
Dim csvRecords As New System.Collections.ArrayList() Dim tfp As New FileIO.TextFieldParser("test.csv", _ System.Text.Encoding.UTF8) '区切り文字を,とする tfp.Delimiters = New String() {","}
While Not tfp.EndOfData 'フィールドを読み込む Dim fields As String() = tfp.ReadFields() '保存 csvRecords.Add(fields) Label3.Text = csvRecords(1)(0) End While '後始末 tfp.Close()
>Label3.Text = csvRecords(1)(0) の部分で、 System.ArgumentOutOfRangeException はハンドルされませんでした。 Message=インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。 パラメータ名: index というエラーが出ました。 1,0の部分には、ちゃんと値が入っています。
|