LoginSignup
12
9

More than 5 years have passed since last update.

この記事でやること

  • D3.jsでCSV形式のデータを読み込みます
    • 元データ:CSVファイル(別ファイルに分割)
    • ファイルはUTF-8で記述しましょう
  • 読み込んだデータを一行ずつ表示します

ソースコード

HTML

index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3.js CSVファイルを読み込む</title>
</head>
<body>
<!-- 一覧表の描画先-->
<div id="data"></div>
</body>
<!-- D3.js -->
<script src="https://d3js.org/d3.v4.min.js"></script>
<!-- 本体処理 -->
<script src="main.js"></script>
</html>

JavaScript

main.js
// 読み込みデータファイル
var DATA_FILE_PATH = './data.csv';
// 一覧描画先
var TARGET_ELEMENT_ID = '#data';
// 項目名:漢字表記
var COL_KANJI = 'kanji';
// 項目名:かな表記
var COL_KANA = 'kana';
// 項目名:色ID
var COL_COLOR_ID = 'color';

drawTable();

/**
 * データ一覧の描画
 */
function drawTable() {
    d3.csv(DATA_FILE_PATH, function(error, list){
        // 第2引数のlistの中に読み込んだデータがある

        d3.select(TARGET_ELEMENT_ID)
            .append('div')
            .selectAll()
            .data(list)
            .enter()
            .append('div')
            .text(function (dataRow) {
                // 読み込んだデータを参照する場合はコールバック関数を通す
                return dataRow[COL_KANJI]
                + '' + dataRow[COL_KANA] + ''
                + '' + dataRow[COL_COLOR_ID];
            });
    });
}

データファイル(CSV)

一行目がデータ項目名になり、これをキーとしてスクリプト内で取得を行います。

data.csv
kanji,kana,color
青,あお,blue
赤,あか,red
緑,みどり,green

結果

読み込んだ内容がテキストで表示され…特に何も面白くないでしょうか?
今は別ファイルのデータを読み込むことができた点を素直に喜びましょう。

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9