
javascriptでCSVデータをを呼出して、あるinputに入力したデータでCSVをvlookupし、該当した行のある列を別のinputに書くということがしたいです。
こちらの記事はテーブルを参照していますが、
http://oshiete.goo.ne.jp/qa/6750899.html
外部CSVデータを直接読むコードはないでしょうか。
どうか助けてください。
よろしくお願いします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
ていせい。
ひどうきではないので Ajax とよばれない。
test.csv
001 (\t) abc (\t) 400 (\r\n)
002 (\t) def (\t) 500 (\r\n)
のように。
もじコードも、きをつけてね
No.5
- 回答日時:
<!DOCTYPE html>
<title>VLOOKUP modoki のさんぷるぷる & なにかしら</title>
<body>
<form action="#" onsubmit="return false">
<table>
<tr>
<td>
<input type="text" id="hoge0" name="hoge0" onchange="
document.getElementById('hoge1').value=VLOOKUP(this.value, 0, 1);
document.getElementById('hoge2').value=VLOOKUP(this.value, 0, 2);
">
<td>
<input type="text" id="hoge1" name="hoge1">
<td>
<input type="text" id="hoge2" name="hoge2">
</table>
</form>
<script>
(function () {
var reg_field = /\t/g;
function getFile (fName) {
var req;
try {
req = new XMLHttpRequest;
} catch (er) {
return '';
}
req.open ('GET', fName, false);
req.send ('');
return (200 === req.status)
? req.responseText
: '';
}
function toAry (csv) {
return (csv)
? csv.split (/\r\n|\r|\n/g)
.map (spliter)
: [];
}
function spliter (rec) {
return rec.split (reg_field);
}
this.createVLookUp = function (fname) {
var csv = [];
if (fname)
csv = toAry (getFile (fname));
return function (key, search, row) {
var i;
var I = csv.length;
for (i = 0; i < I; i++)
if (csv[i][search] == key)
return csv[i][row];
return '';
};
};
})();
var VLOOKUP = createVLookUp ('test.csv');
</script>
--
ふぃーるどのくぎりは、タブコード。
だぶるくおーととか、しんぐるくおーとはつかわないで
ひどうきなので Ajax とよばれないらしい
じつようには、ほどとおい。
ふぁいあ~ふぉっくすとか、くろむならうごくかな?
test.csv
001abc400
002def500
003ghi600
No.4
- 回答日時:
手前味噌ですが、rfc4180.js というライブラリがあります。
http://vird2002.s8.xrea.com/javascript/rfc4180.h …
http://www.kasai.fm/wiki/rfc4180jp を読みながら、JavaScript で CSV -> array の変換器を実装しました。
二次元配列になるので for 文で回せば vlookup も可能です。
# 改めて読むと、CSV -> array の変換部だけ別コードにした方が良かったかなー。(以前、指摘を受けたところ)
No.2
- 回答日時:
う~ん。
CSVファイルをAjaxのレスポンスとして入手して自前で解析して自分でvlookupの動作を作るというのであればそれはできると思うんだけど、いろいろ試行錯誤が必要かもしれないね。まず、Ajaxについては、私はjQueryというJavascriptライブラリーがとても好き(というかこれしか知らない)。jQueryでAjaxをするのはすごく簡単で、jQueryを読み込んだら後はjQuery.get()やjQuery.post()というメソッドを実行するだけだ。
で、jQuery.post()でCSVファイルをリクエストすれば、成功時にコールバック関数が受け取るのはそのまんまCSVファイルの中身だ。
これで「外部CSVデータを直接読む」という事は実現できる。後はvlookup的動作だが、これは技術的にむつかしい話ではないので特に解説は必要ないだろう。
外部CSVがクライアントのパソコンのCドライブ直下のtest.csvとかだと・・・・jQueryで読み込むパスの指定をどうすればいいのか、難しそうだね(パスが決まっているのであれば読み込み可能)。
ローカルファイルを読むのにJavascript File APIというものもあるにはあるけど、現時点ではまだまだ現実的とは言い難い。
>>>> これで「外部CSVデータを直接読む」という事は実現できる。後はvlookup的動作だが、これは技術的にむつかしい話ではないので特に解説は必要ないだろう。
この部分がネット上でなかなか見つからないのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのpandasのcsvの外部結合(outer_join)した際に列が想定とは異なる事象 1 2022/05/25 13:23
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) csvに別のExcelの文章を差し込む 2 2023/04/01 16:06
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ActiveXobjectが作成できない
-
モーダルダイアログウィンドウ...
-
アンカークリックのイベントを...
-
DIV内のDIV要素を移動する。
-
<a>タグのテキストを取得
-
javascriptを使ったページ内の...
-
Google maps API V3 ルート案内
-
ボタンをクリックすると数が増...
-
ぷよぷよの消去アルゴリズムが...
-
HTTPSのとき":"が"%3A"ではなく...
-
jQueryでzipを解凍読み込みする...
-
javascriptのdocument.allにつ...
-
スマホでフォームにフォーカス...
-
二次元配列を使って順位をだす...
-
htmlでjavascriptソースを...
-
JavaScriptで日付を取得したいです
-
C#OpenCv V4にのエラーに関する...
-
同じIDで定義した要素の配列を...
-
responseTextを使っての書き換...
-
【jQuery】for文ではイベント登...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ActiveXobjectが作成できない
-
<a>タグのテキストを取得
-
onchangeイベントを使ってspan...
-
任意の座標をクリックさせるには
-
innerHTML実行後のイベント
-
div要素内の全input要素をdisable
-
javascriptを使ったページ内の...
-
onclickを使わずにイベント処理...
-
javascriptで編集可能不可能の...
-
[初心者]javascriptのfor文でな...
-
「エラー:…は宣言されていませ...
-
配列の大括弧と丸括弧はどう違う?
-
Click回数を数え、規定された回...
-
【Tabキー】特定の範囲内だけで...
-
onclickとonkeypressの重複
-
javascriptでCSVを呼出しvlookup
-
HTML:Tableタグに対し、JavaScr...
-
ページ先頭にスムーズに移動(...
-
IE8でdivのcontenteditable=tru...
-
画像の一部を表示
おすすめ情報