[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/04/05(Thu) 21:36
投稿者名:うどん
Eメール:
URL :
タイトル:
CSVファイルの読込について
こんにちは。CSVファイルの読込について何方か教えて頂きたいのですが
CSVファイルを読込む時に必要箇所のみ読込むように出来ないものでしょうか?
例えば各行の先頭から10個目の区切り(,)以降の2個だけ読んで、後は読み飛ばす様な処理を
したいと思っています。いま製作中のアプリで読込むCSVファイルが数MB程有り処理時間の短縮を
考えて模索しています。此方のH.PのサンプルからVBScriptでファイルを読込む方法を知り
試したところ格段に早くなったのですがまだ実用レベルでは無い為、御教授頂けると助かります

投稿時間:2007/04/05(Thu) 22:22
投稿者名:neptune
Eメール:
URL :
タイトル:
Re: CSVファイルの読込について
こんにちは

データベースオブジェクトの使用とか、バイナリで開いて一気読みして、
後は変数内で処理するとかがぱっと思い浮かびますが、
どんなデータで、どれくらいの速さが、必要か等の情報もあった方が
良いアドバイスが受けられると思います。

数M程度なら、どちらでもVBSよりは早いとは思いますが、
データベースオブジェクト > 一気読み
とは思います。

投稿時間:2007/04/06(Fri) 07:53
投稿者名:うどん
Eメール:
URL :
タイトル:
Re^2: CSVファイルの読込について
neptuneさん返信有難うございます。
開きたいデータですが計測機から送られて来る数値データの為、「0」の羅列の場合もあり
(,)1区切りの各データは文字数がそれぞれ一定ではありません。
バックグラウンドで通信処理を常時一定間隔(100ms毎)で行っている関係でなるべく早くファイルを
読込んでしまいたいのです。(処理時間が掛かると通信に影響が出てしまう為)
データベースに関してはあまり良く解かっていないのですが現状1回の通信で150個のデータを取得
しており40000回通信したとすると6000000の配列データとなります。(データ数は不定)
この場合リソースに負担を掛けたりしないのでしょうか。読込んだデータは解析処理後は
不要になる為、保持しておく必要はないのですが・・・。
一気読みの方は今日試してみようと思います。

投稿時間:2007/04/06(Fri) 15:35
投稿者名:neptune
Eメール:
URL :
タイトル:
Re^3: CSVファイルの読込について
こんにちは

> neptuneさん返信有難うございます。
> 開きたいデータですが計測機から送られて来る数値データの為、「0」の羅列の場合もあり
> (,)1区切りの各データは文字数がそれぞれ一定ではありません。
項目数が違うのでしょうか?

> 一気読みの方は今日試してみようと思います。
とりあえず、郵政公社の郵便番号のCSV(10Mちょい)で試しましたが、
読込み 〜 行毎に分割だけなら私のマシンで、3秒前後ですが、
遅いですかね?・・・遅いですね。

ただ、バイナリで開いて1回目の読込みで読み込んだ位置を記録しておき、
2回目以降はそこから後ろだけ読み込むとかは駄目でしょうか?

これより早い読込みとなると・・・私の手には余ります。m(_ _)m

投稿時間:2007/04/07(Sat) 00:45
投稿者名:うどん
Eメール:
URL :
タイトル:
Re^4: CSVファイルの読込について
neptuneさん色々と有難うございます。
私も本日いくつか試して見ました。
今回は御指南の通りバイナリで開いて処理する事にしました。
Split関数で切出せば以外に行けそうな感じです。
また何かありましたら相談に乗って下さい。
有難うございました。