次のようなCSVデータがあります。
1,1,10
1,2,50
1,3,5
etc...
そして、私はデータを読み込もうとしています。ただし、最初のデータにはヘッダー行が含まれていないため(上記を参照)、最初のデータ行がヘッダー(1,1,10)になります。とにかくこれはありますか。データを読み込んだ後にヘッダー名を設定したい
d3.csv("data/testnh.csv", function(data) {
console.log(data);
}
ありがとう!
d3.text を使用してデータをロードし、次に d3.csvParseRows を使用してデータを解析します。例えば:
d3.text("data/testnh.csv", function(text) {
console.log(d3.csvParseRows(text));
});
列はデフォルトで文字列になるため、おそらく列を数値に変換することもできます。それらがallの数値であると仮定すると、次のように言うことができます。
d3.text("data/testnh.csv", function(text) {
var data = d3.csvParseRows(text).map(function(row) {
return row.map(function(value) {
return +value;
});
});
console.log(data);
});
2012年のBostockの回答以来、 d3.csv.parseRows はオプションのアクセサ関数を許可し、これにより彼の回答をより簡潔に表現できます。
d3.text("data/testnh.csv", function(text) {
var data = d3.csv.parseRows(text, function(d) {
return d.map(Number);
});
// Now do something with data
});
最初にd3.text
を使用してデータを読み取り、次にカスタムヘッダー文字列を追加してから、d3.csv.parse
で結果を解析します
d3.text("data/testnh.csv", function(r){
var result = "x, y, z\n" + r; //now you have the header
var data = d3.csv.parse(result);
//do your plotting with data
}
試してくださいd3.csvParse(text)
d3.csv.parseRowsは、最新のd3バージョンでは機能しないようです。