csvデータをテーブル表示、指定の列、行を非表示に

このQ&Aのポイント
  • wordpress記事にテーブルを組む方法について質問です。特定の行や列を非表示にする方法を知りたいです。
  • 質問の目的は、csvデータをテーブルで表示する際に特定の行や列を非表示にしたいというものです。
  • ショートコードにパラメータを追加することで、特定の行や列を非表示にする方法を探しています。
回答を見る
  • ベストアンサー

csvデータをテーブル表示、指定の列、行を非表示に

こんにちは。 wordpressの記事に、行数の多い表テーブルを組もうとしています。 (phpやjsなどは素人です) 以下のサイトを見て、ショートコードを使用し、記事内に表示はできました。 ( csvファイルをhtmlに表示する http://www.warna.info/archives/1481/ ) しかし、元のcsvには必要ない行や列がたくさんあります。 元ファイルを修正することなく、特定行や特定列を非表示にしたいのですが、どうしても解りません。 ーーーーやりたい事の説明 csvの例としてーーーーーーーーーー no,a,b,c,d, 10,赤,青,黄,緑, 20,コーラ,ビール,ミネラル,ソルト, 30,野菜,お茶,ジュース,ドクターペッパー, 1、横の行 最初の行を非表示にしたいです 2、aの列を非表示にしたいです 3、できれば最初の一列目に、自由に品目を表示したいです   (A,B,C,Dなどなど) ショートコードにパラメータを書いてなんとかなりそうな気がするのですが、もう5時間もgoogleで検索し、途方に暮れています。私が素人過ぎるのが原因だと解ってはいますが、あきらめ切れません。 どなたか、どうか、ご指導ください!

  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • tracer
  • ベストアンサー率41% (255/621)
回答No.1

ご存知のように、WPのショートコードとは、簡易記述によってphpを自動記述するものです。サンプルサイトの例は、ショートコードを記述することによって、csvを読み込み、その内容をtableとして表示するphpを自動記述するものですが、行列の表示・非表示を切り替える記述は見当たりません。従って、どう頑張ってもショートコードの範囲内での要望はかないません。要望を叶えるには、ショートコードのもとになっているphpプログラム部を編集する必要があります。 「phpやjsなどは素人です」などと言い切らずに、素直にPHPを学んでください。 簡単ツール(学習・努力なし)で乗りきれる内容は超えているということです。

unagi9999
質問者

お礼

ご回答ありがとうございます。 WPショートコードでは不可能、phpプログラムをカスタマイズするしかないと解っただけでもよかったです。 速やかにやるべき事が見えましたので、ベストアンサーとさせて頂きます。 ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

考え方は4つ (1)読み込むときに読まない(読み飛ばす) (2)全て読んで、読み込んだ後で削除する (3)全て読んで、削除せず、表示するときに表示させない (4)全て読んで、削除せず、表示するが、表示側で処理する SQLで処理する場合(1)がベターですが、今回のようにCSVで処理するなら (2)か(3)でしょうか、 (2)の方が無駄なデータを取り込まずに済む分メモリなどには有利ですが処理は煩雑 (3)の方がロジックは簡単で絞り込みなどもやりやすいですが一時的に不要なデータを 持つ必要があるため無駄がおおい また、表示項目を任意に変更する場合は(4)の方がよいかも

unagi9999
質問者

お礼

ご回答ありがとうございました! phpを学ぶしかないことが解りました。

関連するQ&A

  • 行と列を入れ替えた式

    行と列を入れ替えた式 A=(a b c d)とします。この行列の行と列を入れ替えた行列は(a c b d)らしいんですが、行と列を入れ替えるという意味がよくわかりません 僕は、1行目と1列目を換えて、2行目と2列目を換えると考えました。しかし、その場合は(a b c d)で元に戻ってしまします。 何故、僕の考えでは行と列を入れ替えた行列にならないんでしょうか?? 誰か、うまく教えらる人 アドバイスおねがいします

  • csvファイルのデータ変換について

    OS:windows2000pro VB:VB6.0sp5 c:\data.csv(カンマ区切) のデータ(全6列)で 1列目,2列目,3列目,4列目,5列目,6列目 [変換前(全6列)] abc,a1,aあ b2,3c,4d5e (1行目) ccc,c3,aあ い,3c,4d5e (2行目) bbc,b2,あ b2a,c3,d5e4 (3行目) [変換後(全6列)] abc,a1,"aあ b2",3c,"4d5e" (1行目) ccc,c3,"aあ い",3c,"4d5e" (2行目) bbc,b2,"あ b2a",c3,"d5e4" (3行目) 上記の様に 3列,6列目を「"・・・"」ダブルコーテイションで 囲い(変換し)、c:\data_after.csvというファイル名で 保存する為のプログラムをご教示ください よろしくお願いいたします

  • CSVデータの行と列が一致した値を返すフリーのCGIを探しています。

    CSVデータの行と列が一致した値を返すフリーのCGIを探しています。 分かるかとは思いますが、例として、それぞれの友達の家までの距離(m)とした場合、以下のような表(CSV)ができるかと思います。※数値はデタラメです。 ■■|A君|B君|C君|D君|E君 A君|----|0100|0050|0800|0200 B君|0100|----|1000|1020|0700 C君|0050|1000|----|1340|0020 D君|0800|1020|1340|----|1000 E君|0200|0700|0020|1000|---- この場合、以下のようなフォームから、行と列の一致する値を表示させたいのですが・・ <select name="select1"> <option value="A君">A君</option> <option value="B君">B君</option> <option value="C君">C君</option> <option value="D君">D君</option> <option value="E君">E君</option> </select>の家から <select name="select2"> <option value="A君">A君</option> <option value="B君">B君</option> <option value="C君">C君</option> <option value="D君">D君</option> <option value="E君">E君</option> </select>の家までは <input id="submit" value="検索" name="submit" type="button"> 出力値=0100メートルです 通常レコードは、行1つに対して全ての列を表示されることになると思うので、例でいけば全部で25個のデータを用意しておいて、そのデータを呼び出すか、A君から5人の家までのデータ(列)を表示させれる方法になると思います。 シンプルに、行(X軸)と列(Y軸)を表示(X:Y)させるようなフリーCGIがあれば、Perl、PHP問いませんので教えてやってください。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • CSVの3行目だけを…

    はじめまして!Nakanoと申します。 えっと、以下質問になります。おねがいします。。 CGI/Perlを始めて1週間程度の素人なのですが、 CSVファイルをHTMLのテーブル表示させる 様にしたいなと思っています。 そこで用意したCSVファイルが5行と8列で カンマ区切りのみで構成されています。 このCSVファイルから3行目だけを抽出する方法 ってありますでしょうか? 1行目のみ表示や1行目以外の2行目以下全てを表示 させたりは出来たのですが、3行目だけを表示するの がどうしても分かりませんでした・・・・・ 何方様か。よろしければその辺の所を詳しくご指導 いただけないでしょうか? よろしくおねがいします。

    • ベストアンサー
    • Perl
  • 条件を満たす行の、特定の列における最小値

    以下のようなスプレッドシート(Excel)があります。    [A列] [B列] [C列] [D列] [E列] [1行]資材コード メーカー 単価 平均 最安 [2行]T1111 A 311 [3行]T1211 A 411 [4行]T1311 A 311 [5行]T1111 B 299 [6行]T1211 B 500 [7行]T1311 B 312 [8行]T1111 C 300 [9行]T1211 C 280 [10行]T1311 C 400 D列(D2~D10)には、 同じ資材コードの単価の平均が入ります。 これは、 SUMIF(A$2:A$10,A*,C$2:C$10)/COUNTIF(A$2:A$10,A*) (*には当該行番号が入る。) で、表現できました。 次にE列(E2~E10)には 同じ資材コードのもののうち、 最安となる単価を表示させたいのですが、 どう関数を組み合わせるのが、スマートなのかわかりません。 たとえば、E2セル、E7セル、E11セルは 資材コードT1111になっている行のうち、 単価(C列)が最低となる時の値を表示するようにしたいので、 C2セル=311、C7セル=312、C8セル=800のうち、最低である311が E2セル=311、E7セル=311、E8セル=311 にそれぞれ表示されるようにしたいのです。 わかりにくい説明で申し訳ありませんが、 疑義があれば、適宜補足しますので、指摘してください。 よろしくお願いいたします。

  • 【Excel】 csvファイルを参照し、該当データを表示したい。

    こんにちは csvファイル(商品リスト.csv)に商品リストがあります。 コード 商品名   金額 b32548 あいうえお 10,000 a45687 さしすせそ 20,000 c54842 あいうえお 10,000 ・ ・ 別のExcelファイルのsheet1 A列にコード番号が表示されています。  A   B     C コード 商品名   金額 a45687 c54842 b32548 このB列、C列に、先のcsvファイルの 該当コードにあたる商品名、金額を表示させるには B列、C列の式はどうしたら良いのでしょうか。 完成  A   B     C コード 商品名   金額 a45687 さしすせそ 20,000 c54842 あいうえお 10,000 b32548 あいうえお 10,000 宜しくお願いいたします。

  • csvデータの列の入れ替えができるソフト

    次のようなCSVデータがあります a,b,c,d,e 11,12,13,14,15 21,22,23,24,25 31,32,33,34,35 上記のc列を1番目、次に、b,a,e,dのように列の順番を変えたいと 思っています 変換後は下記のイメージです c,b,a,e,d, 13,12,11,15,14 23,22,21,25,24 33,32,31,35,34 これはイメージであり、CSVの列数は300列程あります a,b,c,d,eの列の並びを指定することにより、全てのデータ が並び替えれるソフトをご存知でしたら教えていただけませんか よろしくお願いします。

  • 巨大なCSVの加工(指定列のみの抽出)について

    巨大なCSVの加工(指定列のみの抽出)について 下記のような構成のCSVファイルがあります。 "ID","a","b","c","d","e","f","g","h","i","j","k","l","m" "0001","a","b","c","d","e","f","g","h","i","j","k","l","m" "0003","a","b","c","d","e","f","g","h","i","j","k","l","m" "0004","a","b","c","d","e","f","g","h","i","j","k","l","m" ・ ・ ・ 例えば、 ここから"ID"列と"c"列と"f"列のみ抽出して新たなCSVファイルで保存。 という処理を行いたいのですが、行数が5000万行近くあり、ファイルサイズが80GB程あるので エクセルはおろかアクセスでも開くことができません。 テキストエディタの秀丸64bit版なら開くことができますが、指定列の抽出方法が分かりません。 秀丸のマクロでもVBSでも良く、また膨大な待ち時間がかかっても構わないので実現する方法について お知恵をお貸しください。

  • エクセルで長い行を5行ごとに1列にするには?

    エクセルで行列の入れ替えの応用(になるのでしょうか?)をお尋ねします。 A列に例えば100行のデータが入っているのを、5行ずつ横並べにして、20行にしたい時どうすればよいでしょうか? A列 ------- データ1 データ2 データ3 データ4 データ5 データ6 データ7 データ8 データ9 データ10 (続く…) -------- こうなっているのを、  A列  B列   C列  D列   E列 ------------------------------------------ データ1 データ2 データ3 データ4 データ5 データ6 データ7 データ8 データ9 データ10 (続く…) ---------------------------------------- このように、表示したいのです。 お尋ねしているのは、100行ですが、 実は1500行ほどの長い名簿データが元のものです。 宜しくお願い致します。

  • PHP5でCSVの指定行データだけを取得するには?

    PHP初心者です。 下記のような方法で全てのデータを取得する方法があると知りました。 $fp = fopen("url.csv", "r"); while ($data = fgetcsv($fp, 1)) { foreach ($data as $d) { print $d . "<br>\n"; } } しかし指定行、例えば10行目等だけを取得する方法がわかりません。 CSVは1列で1000行ほどあります。 恐れ入りますが具体的なソースを教えてくださいませ。

    • ベストアンサー
    • PHP