C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 103 を表示中)
■61542 / )  Re[6]: CSVデータの一部分のみ読み込む
□投稿者/ JRY (10回)-(2011/08/18(Thu) 20:50:34)
No61496 (魔界の仮面弁士 さん) に返信
> ■No61493 (JRY さん) に返信
>>wc.DownloadFile( _
>> csvurl, _
>> savedir)
>>Dim tfp As New FileIO.TextFieldParser("test.csv", _
>> System.Text.Encoding.UTF8)
>
> tfp に渡しているのは、WebClient でダウンロードしたファイルではなく
> 固定名 "test.csv" というファイルのようですが、ファイルの取り違いはありませんか?
>
> また、そのファイルの文字コードが、UTF-8 以外になっている可能性はありませんか?
>
>
>>Dim csvRecords As New System.Collections.ArrayList()
> ArrayList 型でも一応蓄えられますが、この場合は List(Of String()) 型の方が良いかも。
>
>
>> Dim fields As String() = tfp.ReadFields()
>> csvRecords.Add(fields)
>> Label3.Text = csvRecords(1)(0)
>>End While
>
> Label3.Text への表示処理を、ループ内に入れてしまってはまずいかと。
>
>
> ループ処理の 1 回目で、先頭行のフィールドが 配列fields に渡されますよね。
> 次の行ではそれを、csvRecords.Add で蓄えています。
>
> しかしループの 1 回目の段階では、蓄えられた csvRecords は 1 件分だけです。
> つまり、csvRecords(0) はあっても、csvRecords(1) はまだありません。
> そのため、先のエラーになってしまっているというわけです。
>
>
> 2 行目も読み取りたいなら、ループ処理をそのまま続行させ、
> 1 行目のさらに後のデータも読み取るようにしましょう。

ありがとうございます。
ですが、指定した場所を正常に読み取りませんでした。
指定したところの7個以上先を読み取ってしまいます。
どうすればいいでしょうか?
返信 編集キー/


管理者用

- Child Tree -