- ベストアンサー
csvデータをテーブル表示させる方法
- csvデータをテーブル表示させる方法について教えてください。
- 現在、csvデータをテーブル表示しようとしていますが、うまくいきません。
- csvデータの特定の列だけを表示させるために、HTMLのテーブルを使用していますが、表示がうまくいきません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
$_を2次元配列だと思って扱えばよいのでは。 while (<IN>) { if ((split(/,/))[0] == 5) { ## ↑2次元まで指定できている print "<tr><td>". $_. "</td></tr>"; ## ↑1次元目までしか指定されていない } } 実際には$_[i]の中身は配列ではなく、「,」で結合されている文字列ですので、「データ1の説明」にアクセスするには、if節でやったように、「,」で切り分けて添え字を指定してやればいいと思います。 初期処理として、csvデータの中身を本当に2次元配列に放り込むという手もあります。 データをほかの処理でも使うなら、こっちの方が便利だと思います。
その他の回答 (1)
- leaz024
- ベストアンサー率75% (398/526)
カンマで分割したリストを @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); ※インデント等に全角空白を使っているので、コピーする場合はタブなどに変換してください。
お礼
有難うございます!無事に解決しました!! なるほど、このようにするんですね~勉強になりました
お礼
他の処理で使う事のない、単純な機能ですので今回は参考までにさせて頂きます 大変勉強になりました、有難うございました!