• ベストアンサー

CSVファイルによる検索の高速化

oraora777の回答

  • oraora777
  • ベストアンサー率20% (56/268)
回答No.4

fopen()でファイルオープンしてでfgets()で取得して利用時にCSVをexplode()やstr_getcsv()で分割するなら fgets()の代わりにfgetcsv()を使って取得時に配列に分離してしまった方が良いと思いますよ。

zyonta_33
質問者

お礼

ご回答ありがとうございます。 fgetcsv()という便利な関数があるんですね。ありがとうございます。

関連するQ&A

  • CSVファイルの出力

    こんにちは。 ただいまアクセスで商品の検索プログラムを作っていまして、入力した商品名に一致する商品コードと商品名をテーブルから抽出し、CSVファイルに出力したいのですが、どういった方法で出力すればいいのでしょうか?

  • csvファイルを開かずに文字を検索し行を抽出したい

    フォルダの中に複数のCSVファイルが有ります。 これらのファイルを開かずに文字列を検索し、検索対象の文字と完全一致する 文字がある行をまとめてひとつのファイルに抽出する方法を探しています。 例:Aフォルダ内にファイル1、ファイル2、ファイル3、、、と複数のファイルがある。 ファイルのフォーマットはすべてCSV。ファイルにはシートは一つのみ。日付なのですべて異なります。       A         B  C   D   E   F  G   H   I   J  K   L 加工年月日時分 品種 コード A列 B列 C列 D列 E列 F列 G列 本数 作業者    ・    ・    ・ A~Lまであり、Cのコードが指定した検索文字と完全一致するものを抽出したいです。 急ぎの内容の為、VBAやコマンドプロンプトなど、自分なりに色々なサイトにある プログラムを組み換えようとしましたが初心者の為すぐに理解して応用はとても 無理でした。知恵を貸して頂きたいです。

  • UTF-8にエンコードされたCSVファイルをメモ帳で編集

    UTF-8にエンコードされたCSVファイルをメモ帳で編集しても文字コードはそのままなのでしょうか? 上記UTF-8コードCSVファイルをメモ帳で見ると、ちゃんと文字コード変換されてきれいに見えます。 編集作業として、レコード(行)の削除のみです。 よろしくお願いいたします。

  • csvファイル検索

    フォームから検索文字を入力してもらい 4列、2000行ほどのcsvファイル内を検索し、ヒットしたらその行を出力するというものを作りたいと考えています。 csv  ------------------------- 1|自転車 バイク 2056,タイヤ,ペダル,ハンドル  |  ------------------------- 2|バイク 2001,タイヤ,ペダル,ハンドル      |  ------------------------- 3|自転車 バイク 2001,タイヤ,ペダル,ハンドル  |  ------------------------- 4|自転車 バイク 5601,タイヤ,ペダル,ハンドル  |  ------------------------- といった行があったとして、フォームに "自転車 56"と入力した際、 1行目3行目4行目の文字列を表示したいのですが、その際 1行目と4行目は2つヒットしているので3行目より上に表示させたいのです。 yahooなどの検索サイトのor検索のようなものです。(スペース区切り) 正規表現でやればいいのか?と思い手をつけてみたのですがどうも違うようですし、もしかしたらPHPで作ろうというのが間違っているのかもしれませんが、何か方法及び参考になるurlがありましたら教えてください。 よろしくお願いします。 windows2000 php4-4.3.8-18です。

    • 締切済み
    • PHP
  • 数gbのcsvファイルから高速に1行目だけRuby

    Ruby初心者です 数gbのcsvファイルから高速に1行目だけ取り出したいのですが、 どういったコードを書けばよいのでしょうか?教えてください。

    • ベストアンサー
    • Ruby
  • UTF-8のCSVファイルを開く

    エクセル2000でUTF-8の文字コードで作られたCSVファイルを開くと 文字化けしてしまいます。  文字化けせずに開く方法を御存知の方、教えてください。  VBAを使う方法でも構いません。(コードを教えてください。) 宜しくお願いします。 以上

  • ファイル内のキーを元に別のファイルをgrepする

    初めて質問させていただきます。 Perlを使って下記のことをじっそうしたいと思っています。 □テーブルから抽出したdata.csvの中に、外字文字コードが存在するか確認する。もし存在する場合は、その行を別のファイル(output.csv)へ出力する。 Perlで下記のような構造でプログラミングしたいと思っていますが、知識が乏しいため、どなたかサンプルコードをご提供いただけますでしょうか。 □外字文字コードをもつtest.txtを一行ずつ読み込み、そちらを検索キーとして、data.csv内をgrepし、該当行があったら、output.csvへ出力する。 test.txt \x40\xB0, \x41\xB1, \x43\xB2

  • 複数CSVファイルからデータ抽出

    CSVファイルのA列(行は問いません)の文字が転記シートのA列(行は問いません)と一致していたら、転記シートのA列が一致した行の空白に、左から順にCSVファイルのA列が一致した行のF列の値を書き込む。CSVファイルの1行A列を転記シートのF列の値を書き込んだ列の1行目に書き込む。 できれば、書き込んだ値はCSVファイルから消したいです。 コピペでやっていたのですが、ずれていてどうしようもなくなりました。 CSVファイル一つ当たり、4000行ほどあり、ファイルは200弱あります。 プログラムを組んでくださると、ありがたいのですが。 質問というよりお願いになってしまいますが、よろしくお願いします。

  • csvファイルでの出力について

    C言語初心者です。 プログラミングにおいて質問なのですが、csvファイルを読み込み、 そのデータを用いて計算し、csvファイルで出力するという問題なのですが、C言語においてcsvファイル形式で出力するにはどのような方法がありますか? 補足:ラベル行に全角文字を入力しないといけません。

  • CSVファイルの行が突然消える

    あるデータを抽出し、それをCSVファイルで取り込み、1つ取り込む ごとにCSVファイルが1行ずつ増えていきます。 適当な時期に、何行かたまった行を一気にAccessを用いてさらに取り込み ます。(取り込むのみ) あるとき、CSVファイルを開くと突然CSVファイルの行が減って いるのです。 何が起きているのでしょうか? Accessに何かマクロとか組んであって突然消えるのでしょうか? Accessを開く前と開いた後(取り込んだ後)で、特にCSVファイル に変更はありません。 あるとき突然CSVファイルを開くと昨日まであった行が突然 消えてしまうのです。(いつ起こるのか予測できていません。) CSVファイルにはマクロが組んであるようには見えません。 何かわかればお願いします。