• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:csvデータをテーブル表示させる)

csvデータをテーブル表示させる方法

このQ&Aのポイント
  • csvデータをテーブル表示させる方法について教えてください。
  • 現在、csvデータをテーブル表示しようとしていますが、うまくいきません。
  • csvデータの特定の列だけを表示させるために、HTMLのテーブルを使用していますが、表示がうまくいきません。

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

  • ベストアンサー
  • lesbrers
  • ベストアンサー率48% (23/47)
回答No.1

$_を2次元配列だと思って扱えばよいのでは。 while (<IN>) { if ((split(/,/))[0] == 5) { ## ↑2次元まで指定できている print "<tr><td>". $_. "</td></tr>"; ## ↑1次元目までしか指定されていない } } 実際には$_[i]の中身は配列ではなく、「,」で結合されている文字列ですので、「データ1の説明」にアクセスするには、if節でやったように、「,」で切り分けて添え字を指定してやればいいと思います。 初期処理として、csvデータの中身を本当に2次元配列に放り込むという手もあります。 データをほかの処理でも使うなら、こっちの方が便利だと思います。

SVAHA
質問者

お礼

他の処理で使う事のない、単純な機能ですので今回は参考までにさせて頂きます 大変勉強になりました、有難うございました!

その他の回答 (1)

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

カンマで分割したリストを @data_view に格納し、その後で $data_view[0] == 5 のデータのみを表示すればよいでしょう。 open(IN, "data.csv"); print "<table>"; while (<IN>) {   chomp;   # 末尾の改行を落とす   my @data_view = split /,/;   if ($data_view[0] == 5) {  # 先頭のデータが 5 なら表示     print "<tr>";     print "<td>$data_view[0]</td>";     print "<td>$data_view[1]</td>";     print "<td>$data_view[2]</td>";     print "</tr>";   } } </table> close(IN); ※インデント等に全角空白を使っているので、コピーする場合はタブなどに変換してください。

SVAHA
質問者

お礼

有難うございます!無事に解決しました!! なるほど、このようにするんですね~勉強になりました