• 締切済み

CSVデータ内の特定部分をHTMLで表示したい

はじめまして。 早速ですが、表題通り、CSVデータ内の特定部分をHTMLで表示したく、方法をご教授でいただければと思います。 CSVデータは 2021/11/25,01,あいうえお 2021/11/25,02,かきくけこ 2021/11/26,01,さしすせそ のように(日時)、(区分)、(コメント)になっております。 たとえば、当日11/25の02の「かきくけこ」という情報のみ表示したいと考えています。 良い方法などありますでしょうか? ご教授いただければ幸いです。 よろしくお願いします。

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5083/13283)
回答No.3

ざっくりと書いたコードは ========== req = new XMLHttpRequest(); req.open("get", "hoge.csv", true); // ファイル名は適当です req.send(null); req.onload = function() { tmp = req.responseText.split("\n"); // 改行コードは実際の仕様に合わせてください for(var i=0; i<tmp.length;++i) { linedata = tmp[i].split(','); if(linedata[0]=="2021/11/25" && linedata[1]=="02") { // 検索条件は実際の使い方に合わせてください document.write(linedata[2]); } } ========== って感じです。 実際に動かしてないのでバグがあるかもしれません。

masahiro_0316
質問者

お礼

ありがとうございます。 参考にさせていただきます。

  • t_ohta
  • ベストアンサー率38% (5083/13283)
回答No.2

> 具体的な何かサンプルなどご存じでしょうか? 「javascript csv 読み込み」で検索するとサンプルがいっぱい出てきますよ。

masahiro_0316
質問者

お礼

たびたびありがとうございます。 検索してみましたが、いろいろとありどれもベースは同じだと思いますが、今回の自分が行いたいことに応用が難しく、もし可能でしたら、お教えいただけると幸いです。

  • t_ohta
  • ベストアンサー率38% (5083/13283)
回答No.1

JavaScriptカテゴリーなのでJavaScriptで処理すると仮定して、 XMLHttpRequest() を使ってサーバにあるCSVファイルを読み込み、改行コード毎にsplit()で分割して1行毎のデータにし、各行を“,”毎にsplit()で分割して必要なカラムを抜き出して検索条件に一致したモノを探し出し、それをHTMLに出力すれば任意の部分を表示できます。

masahiro_0316
質問者

お礼

t_ohtaさま 早速のご回答ありがとうございます。 何となくわかりそうなのですが、初心者のため、まだまだ勉強が必要と感じました。 具体的な何かサンプルなどご存じでしょうか?

関連するQ&A

  • CSVデータを部分的に再分割したい

     CSVデータの中のある特定の部分だけを再分割(CSV化)するソフトを ご存知の方はいらっしゃいませんか? CsvOpというシェアウエアは http://www.vector.co.jp/soft/win95/business/se078117.html インターフェイスも秀逸で使いやすいのですが、1項目を2つまでしか分割でき ない様で困っています。  具体的には、データの特定部分が繰返し(テーブル定義)されていて本来 10項目に分かれていなければならないはずが、全部でひとつの項目でCSV化 されています。  データ定義を残せるものが望ましいです。  なお、CSVですが固定長なので全体をカラムで再定義も可能ですが、 それも手間ですので、ご存知の方がいらしたらお願いします。

  • PHP+CSVを使った一覧表示&詳細表示をするには?

    PHPは全くの素人でどのようにやったらよいかわかりません。 fgetcsvは何となくわかって単純なCSVデータを表示はできたのですが、そのデータを使って一覧表示では、データの主要部分を表示させ、『詳細』はこちらを選択すると、選択した1つのデータの主要部を含めた残りのデータを表示させたい。 ***CSVデータ例**** Aさん,20代,男性,映画鑑賞,コメント,写真または画像 Bさん,30代,男性,スポーツ,コメント,写真または画像 ***HTML一覧表示例*** ┌────┬───┬──┬────┐ │ 【詳細】│20代│男性│映画鑑賞│ ├────┼───┼──┼────┤ │ 【詳細】│30代│男性│スポーツ│ └────┴───┴──┴────┘ ***HTML詳細表示*** 詳細を選択されたデータのみの全データをテーブル内のの指定されたセルに配置したい。 こんな事をしたいと思うのですが、簡単な方法はないでしょうか?お知恵をお貸しください。

    • ベストアンサー
    • PHP
  • CSVデータ作成

    先方にCSVデータを送信しなければなりません。その際 ある部分の区分を 3桁で 000 もしくは 111 を入力する必要があります。また 単価の列には 00123.00 とこのようなデータで下さいと言われたのですが、これは編集ではなく 関数で =TEXT(A1,"000") とか =TEXT(A1,"00000.00") とすればいいのかなと思うのですが これを CSVに変換すると 区分は 0 単価は123になってしまいます。CSVで 000 や 000123.00 にすることはできないのでしょうか。 教えてください。宜しくお願いします。

  • CSVで【12-13】のデータが【12月13日】と表示されてしまう

    タイトルの通りですが、CSVでファイルを保存して、保存したファイルを開いた時に、元の【12-13】データが【12月13日】と表示されてしまいました。 インタネット上で調べると、データの元の形へ変換する方法が分かりになりましたが 問題として、どこかで書式を設定しておいて、これからいつでもCSVファイルを開くと文字列の形で表示したいと考えています。 設定方法はご指導宜しくお願い致します。有難うございます。

  • HTMLからHTMLへ「データを送りつけ表示させる」といったことは可能

    HTMLからHTMLへ「データを送りつけ表示させる」といったことは可能でしょうか? うまく表現が出来ないのですが・・・ご理解いただけるとうれしいです。 私がWEBサーバ2台を管理しています。 A:http://hogehogehoge.net/AAA.html B:http://pogepogepoge.net/BBB.html Aのページは動的にjQueryなどを使ったページです。 Bは生粋のHTMLです。このサーバには出来ればライブラリなどは入れたくありません。 変更するとしたらHTMLページのソースだけという条件にさせてください。 AAA.htmlのタグ内のデータが変わったらBBB.htmlの<div>タグ内にデータを送りつけて表示させるなんて方法は出来ないものでしょうか?

    • ベストアンサー
    • AJAX
  • HTMLのテーブルタグでCSVデータ表示

    HTML素人です。 色々参考にしていますが、どうしてもわからず困っています。 もし分かる方がいましたら、ご教示お願い致します。 見よう見まねで下記のようなHTMLのテーブルを作成したのですが、 この見出しの下のデータ部分から、指定の格納フォルダに保存しているCSVデータを読み込んで表示させるといったことがしたいです。 (できれば、フォルダ内に新たにCSVデータが保存されたとき、 一度読み込んだファイルの次から表示されるようにしたいです。) 大変恐縮ですが、ご教示お願い致します。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>発注書</title> </head> <body> <header> <h1>発注書</h1> </header> </body> <table border> <tr> <th bgcolor="#00ffff">No</th> <th bgcolor="#00ffff">商品</th> <th bgcolor="#00ffff">商品名</th> <th bgcolor="#00ffff">数量</th> <th bgcolor="#00ffff">金額</th> <th bgcolor="#00ffff">合計金額</th> <th bgcolor="#00ffff">コメント</th> <th bgcolor="#00ffff">備考①</th> <th bgcolor="#00ffff">備考②</th> <th bgcolor="#00ffff">備考③</th> </tr> <tr> <td>2-1</td> <td>2-2</td> <td>2-3</td> <td>2-4</td> <td>2-5</td> <td>2-6</td> <td>2-7</td> <td>2-8</td> <td>2-9</td> <td>2-10</td> </tr> <tr> <td>3-1</td> <td>3-2</td> <td>3-3</td> <td>3-4</td> <td>3-5</td> <td>3-6</td> <td>3-7</td> <td>3-8</td> <td>3-9</td> <td>3-10</td> </tr> </table> </html>

  • CSVデータの数値の表示

    教えて下さい。 他プログラムからCSVデータ出力したデータを エクセルで表示すると、13桁の数字が9E+12と表示されて しまいます。 セルの書式設定を「数値」に変更すると一時的に数字が表示されるのですが、一度保存して、再度ファイルを開くと戻ってしまいます。 エクセル形式で保存すれば大丈夫なのですが、どうしてもCSVファイルのままで保存したいのです。 CSVデータで13桁の数字を常に表示する方法を教えて下さい。 よろしくお願いします。

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

    再び新規質問で申し訳ありません これしか方法がわからなかったもので; csvデータから最初の項目に5というものが含まれている場合 その列を表示する、というのを先ほど質問させていただいて解決に至りました。 csvデータファイルの内容 5,データ1,データ1の説明 5,データ2,データ2の説明 5,データ3,データ3の説明 6,データ4,データ4の説明 ・・・ ↓ open(IN, "data.csv"); while (<IN>) { if ((split(/,/))[0] == 5) { print $_. "\n"; } } close(IN); これで最初の欄に5が含まれている列だけ表示されるのですが htmlに出力すると、そのまま下記のように表示されます 5,データ1,データ1の説明 5,データ2,データ2の説明 5,データ3,データ3の説明 これでは余りにみずらいので、以下のように変更しました open(IN, "data.csv"); print "<table>"; while (<IN>) { if ((split(/,/))[0] == 5) { print "<tr><td>". $_. "</td></tr>"; } } </table> close(IN); これで少しは見やすくなったのですが・・・ ↓のように。 5,データ1,データ1の説明 5,データ2,データ2の説明 5,データ3,データ3の説明 この,で区切られた部分も</td><td>で表示したいのですがうまくいきません。 先ほど質問した時に教えていただいたURLを参照しましたがサッパリでした; 検索で、csvファイルをリストに格納して print "<table><tr>"; print "<td>$data_view[0]</td>"; print "<td>$data_view[1]</td>"; print "<td>$data_view[2]</td>"; print "</tr></table>"; と表示させれば良い、という記事をみつけたのですが これをすると 先ほど成功した最初のデータに5が一致した分だけ表示させる、という部分が機能しませんでした;; まだまだ勉強不足かとは思いますが何卒お願い致します

    • ベストアンサー
    • Perl
  • PHPでCSVファイルの特定行のみ表示

    PHPでCSVファイルを読み込ませるにあたり、「クエリで指定した特定の1行だけ」を取りだしたいと考えています。 下記だと、1行目からクエリで指定した特定行までの抽出が可能です。 hoge.php?repert=5  → 1から5行目までが表示される。 従い、下記から特定行より上の行を削除すれば、当方が考えている「クエリで指定した特定の1行だけ」を取りだすことになりますが、その方法がわかりません。 ご教示いただきたくお願いいたします。 <?php $repeat = $_GET['repert']; $fp = fopen("file2.csv", "r"); $count = 1; while ($data = fgetcsv($fp, 10000)) { if ($count > $repeat) { break; } print <<<EOD $data[0]・$data[1]・$data[2]<br> EOD; $count++; } fclose ($fp) ?>

    • ベストアンサー
    • PHP
  • CSVファイルのデータをphpでデータ修正・追加をするには

    現在CSVで作ったファイルを表示させています。CSVデータの修正を簡単WEB上でできるようにしたいと思っていますがどのような方法をとったらよいかわかりません。どなたかヒントで結構ですのでご教授ください。

    • ベストアンサー
    • PHP

専門家に質問してみよう