5

問題が発生しています。tsvのファイル名しかない場合。そのすべての情報を抽出して配列 (たとえば X) に保存するにはどうすればよいですか。ここで、tsv ファイルの各行は配列 (たとえば、y) で表されます。ここで、X は ys の配列です。

また、列名のヘッダーがわからない場合はどうすればよいですか?

4

6 に答える 6

4

AJAX または純粋な XMLHttpRequest を使用する必要があります。

http://d3js.org/には、基本的にまさにあなたが望むことを行う組み込みの tsv リーダーがあります。

構文は次のとおりです。

d3.tsv("file.tsv", function(data) {
    // use data here
});

data変数は、ファイルの最初の行がキーとして読み込まれるキーと値のペアを持つオブジェクトの配列です。たとえば、

Number Awesomeness
1      5
2      3

戻り[{"Number":1, "Awesomeness":5}, {"Number":2, "Awesomeness":3}]ます。

于 2013-04-23T19:11:18.743 に答える
2
// get file contents, store in var str
var x = str.split('\n');
for (var i=0; i<x.length; i++) {
    y = x[i].split('\t');
    x[i] = y;
}

console.debug(x);

ファイルの内容を取得する方法については、これらのファイルが配置される場所 (クライアント マシン、サーバーなど) を指定する必要があります。

ファイルがクライアント マシンにある場合は、困難な道のりが待っている可能性があります。

ファイルがサーバー上にある場合は、AJAX リクエストを実行してファイルの内容を取得する必要があります。

于 2013-04-23T18:58:39.617 に答える
0

これには、D3、JQuery、またはその他のフレームワークを使用する必要はありません。プレーンでシンプルな JavaScript (AJAX 手法):

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
                var arrayWithValues = xhttp.responseText.trim().split('\t');
                console.log(arrayWithValues);
        };
};
xhttp.open("GET", "/some.tsv", true);
xhttp.send();
于 2016-08-17T18:09:53.890 に答える
-2

あなたはAlasqlライブラリでそれを行うことができます:

alasql('SELECT MATRIX * FROM TSV("mydata.tsv")',[],function(res){
    console.log(res);
});
于 2014-12-21T07:45:15.517 に答える