人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: hopefully
●カテゴリ:就職・転職 コンピュータ
✍キーワード:CSV オープン ファイル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Mook
●50ポイント

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

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

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


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


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


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

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

◎質問者からの返答

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

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

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

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

行いたいです。


2 ● sputnikone
●20ポイント

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

どうですかね。

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ