csvファイルの1行をファイルオープンして取得したいのですが

fgetsなどで値を取得しているのですが、
ファイル数が多いと、かなり処理に時間が掛かるそうです。
なにか、良い方法がありましたら教えて頂けませんか?
1ファイルの容量は、以下の通りですね。
-rw-r--r-- 1 ****** ****** 78 Sep 8 15:44 111111.csv

出来ればサンプルもあれば助かります。

回答の条件
  • 1人5回まで
  • 登録:2006/09/12 20:00:47
  • 終了:2006/09/13 12:22:09

回答(2件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912006/09/12 20:21:36

ポイント50pt

回答ではなく確認なのですが、

>ファイル数が多いと、かなり処理に時間が掛かるそうです。

ということは、多数のファイルを扱うということでしょうか。


提示されたファイルサイズは 78byte ですので、このファイルだけを扱うのであれば、処理時間も気にする必要はないと思います。


多数のファイルを扱うのであれば、どのくらいのファイルがあり、それぞれのファイルがどのようなデータを持っているか、また、それぞれの関連性に関して説明があるとそれに沿った回答ができるかと思います。


直接関係ないかもしれませんが、PHPに関しての話であるなら、

CSV を扱うための関数 fgetcsv というのもあります。

id:hopefully

大体ファイル数は、4万ファイルくらいですね。

データのほうに関しては、

大体、78byteのファイルが4万ファイルあって

そのファイルの中身のレコードを取得するように

行いたいです。

2006/09/13 09:33:55
id:sputnikone No.2

sputnikone回答回数8ベストアンサー獲得回数12006/09/13 00:22:07

ポイント20pt

system関数でheadとかtailを使って切り出すとか

どうですかね。

たとえば、111111.csvの100行目を取り出すなら

system("head -100 111111.csv |tail -1");

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません