• ベストアンサー

Perl Vlookupみたいに

恐れ入ります。 PerlでVlookupみたいに、マッチしたものの閲覧をしたいのですが、 どのようにしたら良いでしょうか。 lookup.cgi code.csv data.csv というファイルを用意して、 code.csvには、7桁のコードの一覧が並び、 data.csvの中でマッチした7桁のコードの別列のデータの一覧を取得したいのですが、 つまり、code.csvに書かれている7桁のコードにマッチする全てのデータを、 data.csvの中の指定した列から抜き出して羅列する感じです。 よろしくお願いします。

  • Perl
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

データ量がすくないのであれば、連想配列でいけるかと。 具体的なデータが不明なので、データ構造をどう構成すればよいかは回答不能ですが。 データ量が多いのであれば、なんらかのデータベース・ソフトを利用したほうが効率の向上が望めるとおもいます。

関連するQ&A

  • javascriptでCSVを呼出しvlookup

    javascriptでCSVデータをを呼出して、あるinputに入力したデータでCSVをvlookupし、該当した行のある列を別のinputに書くということがしたいです。 こちらの記事はテーブルを参照していますが、 http://okwave.jp/qa/q6750899.html 外部CSVデータを直接読むコードはないでしょうか。 どうか助けてください。 よろしくお願いします。

  • エクセルの使い方(vlookup?)

    重複有りの文字列データ一覧A(1000個程度)の中から、別の文字列データB(200個程度)と重複しているものを抜粋し、一覧Aに重複しているもののみ残したいのですが、いい方法はありますでしょうか?vlookupかピボットテーブルなのか?と思っておりますがうまく活用できません。。 データはExcelです。

  • VLOOKUPの使い方

    更なる質問なのですが、すでにD列に表示してあるコードを使って、このコードが意味する文字列をVLOOKUPなどを使って、E列に表示させることは可能でしょうか。 A    B    C   D   E 123  大阪  日本  A04  きゅうり 126  台北  台湾  B05  なす 125  東京  日本  A05  とまと と表示させたいのです。 データは、別のシステムで落とし込んできたものです。 すでにあるABCD列のデータに、E列を挿入して表示させる。。としたいのですが、自分でVLOOKUPを使って作ったところ、違ったものが表示されるのです。 例)A04 とまと   B05 キャベツ となってしまいます。 VLOOKUP自体、使えないのでしょうか。 よろしくお願いいたします。

  • VLOOKUP関数で困っています。

    コード番号の下二桁を取り出して、その値を表から探し出して商品名を表示させる作業をVLOOKUPで設定しようとしていますが、うまくいきません。 おそらく、下2桁を取り出したセルにはRIGHTB関数の計算式が入っており、取り出された2桁の文字列ではなく、計算式を表の中から探し出しているようでN/Aのエラーメッセージです。このような場合、どのようにすればよいのでしょうか。

  • VBAで別ブックからVLOOKUPで抽出

    ブックBシート1A列の値にマッチする値をそれぞれの列にVLOOKUPでブックAシート1にある値から貼り付けたいのですがVBAコードが解る方宜しくお願いします。尚、データーが50行ぐらいあるのですが。

  • 【ExcelVBA】VLOOKUPの方法について。

    《全体の仕様(今回の質問に関連する箇所のみ)》 1)作業列にある2桁の数字の頭に「1」を付加して「1XX」という3桁の数字にし、D列にコピーする。 2)その3桁の数字をキーとし、別ファイルの「A列:キー / C列:商品名」という一覧からVLOOKUPで商品名をE列に表示させたい。 1)に関しては、過去にこのように質問させて頂きました。 http://oshiete1.goo.ne.jp/qa3976946.html マクロでVLOOKUPを使うのは初めてでして、2のロジックの考え方について、迷っています。 まず、キーとなる数字を編集してから、一番上の行~最終行にかけて、一気にVLOOKUPをかけた方がよいのでしょうか? それともループの中で1行編集するごとに、VLOOKUP関数をキー列の隣に入れていった方がよいのでしょうか? 処理が早い方、且つできればソースがシンプルな方(当方VBAはかなり初心者です…)は、どちらの考え方になるのでしょうか? (なお、キーとなる3桁の数字は、編集後は文字列扱いになっていましたが、それを関数で数字に直すのは、自力でなんとかできました)

  • VLOOKUP関数について

    VLOOKUP関数についての疑問なのですが、 ...........A...............B 1..品名コード|.品名..| 2..A123...........|..お茶.| 3..A456...........|...水....| 4..A789...........|..お酒.| というデータがあったとします。 VLOOKUP関数を使用して、 このデータから 品名コードを入力して品名を検索することは できるのですが、品名を入力して品名コードを検索できません。 データのA列とB列の位置を入れ替えれば検索が可能になりますが…。 VLOOKUP関数は検索するキーのデータが一番左側にないと機能しないのでしょうか? どなたかご教授お願いいたします。

  • エクセルVLOOKUPについて質問です

    同じブック内で業者一覧のシートにA列業者コードB列業者名が入っています。 別のシートでE列に業者名を入れるとD列にコードが入る様に =VLOOKUP(E6,業者一覧!$A$2:$B$480,1,FALSE) と入れました。#N/Aのエラーが出てしまいます。 この関数の使い方は間違っているのでしょうか? 以前似たような物を作った時は、VLOOKUPを使って簡単に検索できたのに、 今回は色々参考にしてみましたが、私が理解しきれていないのか、 エラーが出る要素が他にあるのか分からず質問します。 よろしくお願いします。

  • エクセルのVLOOKUP関数について

    エクセルのシート(1)に組合員コード(7桁),氏名,商品,数量・・・が入力してあって、列を挿入し、その組合員コードの左3桁を表示するLEFTの文字列関数を入力します。 それによって3桁が表示され、その3桁のコードは、支店コードを意味するので、シート(2)に支店コード、支店名が入力してあるのでそこから参照するようにシート(1)の3桁が表示されている隣に新たに列を挿入し、シート(2)の支店コードから支店名を引き出すようにVLOOKUP関数を入力したら、「N#A」という表示が出て支店名が表示されません。 LEFT関数によって表示された文字列だと「N#A」で支店名が表示されないのですが、自分で3桁の数字を入力すると支店名が表示されます。 3桁の文字列の結果の値だけをコピーしても、「N#A」が表示され、支店名が表示されません。 文字列関数によって表示された結果から、VLOOKUPで参照は出来ないのでしょうか? 1つずつ自分で数字を入力するしかないのでしょうか? 他に何か別の方法でも構いませんので、教えていただけないでしょうか?

  • Perl 教えてください。

    下記のような簡単なスクリプトなんですが、なぜかサーバーにアップすると動きません。 ローカルでコマンドプロンプトから直接実行するとまともに動作します。 パーミッションは「755」と「705」でやってみましたが。 perlのパスは合っていますし、実際同じ場所に置いた他のCGIは動作します。 #!/usr/bin/perl open (DT, "<./data/***/***.csv") or die "File '***.csv' Open Error."; @data = <DT>; $data[0] = ",,,,,,\n"; open (OUT,">./data/***/***1.csv") or die "File '***1.csv' Open Error."; print OUT @data; close (DT); close (OUT); 原因が分からず困っています。 解決策でなく、原因と思えるだけの回答で結構ですので何卒よろしくお願いいたします。

    • ベストアンサー
    • Perl

専門家に質問してみよう