D3.js - 分隔符分隔值 API

分隔符是一个或多个字符的序列,用于指定纯文本或其他数据中独立区域之间的边界。字段分隔符是逗号分隔值的序列。分隔符分隔值是逗号分隔值(CSV)或制表符分隔值(TSV)。本章详细介绍了分隔符分隔值。

配置 API

我们可以使用以下语法轻松加载 API。

<script src = "https://d3js.org/d3-dsv.v1.min.js"></script>
<script>
var data = d3.csvParse(string);
</script>

API 方法

以下是分隔符分隔值的各种 API 方法。

  • d3.csvParse(string[, row])
  • d3.csvParseRows(string[, row])
  • d3.csvFormat(rows[, columns])
  • d3.csvFormatRows(rows)
  • d3.tsvParse(string[, row])
  • d3.tsvParseRows(string[, row])
  • d3.tsvFormat(rows[, columns])
  • d3.tsvFormatRows(rows)

让我们详细了解一下这些 API 方法。

d3.csvParse(string[, row])

此方法用于解析 csv 格式。请考虑下面显示的文件 data.csv

year,population
2006,40
2008,45
2010,48
2012,51
2014,53
2016,57
2017,62

现在,我们可以应用上面给出的函数。

示例 − 让我们考虑以下示例。

var data = d3.csvParse(string, function(d) {
    return {
        year: new Date(+d.Year, 0, 1), // 小写并将"Year"转换为 Date
        population: d.population
    };
});

在这里,它解析分隔符分隔的值中的指定字符串。它返回一个表示已解析行的对象数组。

d3.csvParseRows(string[, row])

此方法用于解析相当于行的 csv 格式。

var data = d3.csvParseRows(string, function(d, i) {
    return {
        year: new Date(+d[0], 0, 1), // 将第一列转换为日期
        population: d[1],
    };
});

它解析 csv 文件中的每一行。

d3.csvFormat(rows[, columns])

此方法用于格式化 csv 行和列。

示例 −让我们考虑以下示例。

var string = d3.csvFormat(data, ["year", "population"]);

此处,如果未指定列,则构成标题行的列名列表由行中所有对象的所有属性的并集确定。如果指定了列,则它是表示列名的字符串数组。

d3.csvFormatRows(rows)

此方法用于格式化 csv 行。

示例 − 让我们考虑以下示例。

var string = d3.csvFormatRows(data.map(function(d, i) {
    return [
        d.year.getFullYear(), // 假设 d.year 是 Date 对象。
        d.population
    ];
}));

在这里,它将指定的字符串行数组格式化为分隔符分隔的值,并返回一个字符串。

d3.tsvParse(string[, row])

此方法用于解析 tsv 格式。它类似于csvParse。

d3.tsvParseRows(string[, row])

该方法用于解析相当于rows的tsv格式。它类似于csvParseRows函数。

d3.tsvFormat(rows[, columns])

该方法用于格式化tsv的行和列。

d3.tsvFormatRows(rows)

该方法用于格式化tsv的行。