CSV形式ファイルの読み込み

解決


しまじろう  2006-09-06 00:46:35  No: 96496

VB6.0SP5  を使用しております。
CSV形式のファイル読込でLineInputで最初の行から1行ずつ読み込むと時間がかかるので時間を短縮させたいのですが、最初に読み込む行数はわかっているのですが一気にその行まで飛ぶような命令文はないでしょうか?
よろしくお願い致します。


natu  2006-09-06 20:23:15  No: 96497

下記の  VBレスキュー(花ちゃん)  さんの左側のメニューの中の
「カテゴリ別サンプル一覧」
      「FileSystemObject オブジェクト関係」
          「テキストファイルの指定行を瞬時に読込む」  
...を利用されたら如何でしょうか?

http://hanatyan.sakura.ne.jp/


ヤマ@文系  2006-09-08 16:31:48  No: 96498

LineInputだと
一行ずつ読み込むので基本的に遅いです。
時間がかかるということだけに焦点をあてると、、

なのでbinaryで読み込むのが早いと思います
Dim buffer as binary
Dim FIlePath as string
DIm fn

filepath=""'ご自由に
fn=freefile
Open filpath  for binary as fn
ReDim Buffer(LOF(fn))
Get #fn, , Buf
Close #fn

Dim strTemp

strTemp = StrConv(Buf, vbUnicode)
----------------
CSVって改行だったかわかりませんが、、
その後にsplit関数が使えれば(VB6)、
vbCrLFで区切って、配列でその行をみにいったらどうですか?

参考にならないかな。。これ。。


ヤマ@文系  2006-09-08 16:32:44  No: 96499

Get #fn, , Bufferです。すいません。


しまじろう  2006-09-13 17:08:34  No: 96500

みなさんの意見を参考に作成してみました。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加