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(字符串[,行])
  • d3.csvParseRows(字符串[,行])
  • d3.csvFormat(行[,列])
  • d3.csvFormatRows(行)
  • d3.tsvParse(字符串[,行])
  • d3.tsvParseRows(字符串[,行])
  • d3.tsvFormat(行[,列])
  • d3.tsvFormatRows(行)

让我们详细介绍一下这些 API 方法。

d3.csvParse(字符串[,行])

该方法用于解析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), // lowercase and convert "Year" to Date
      population: d.population
   };
});

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

d3.csvParseRows(字符串[,行])

该方法用于解析相当于rows的csv格式。

var data = d3.csvParseRows(string, function(d, i) {
   return {
      year: new Date(+d[0], 0, 1), // convert first colum column to Date
      population: d[1],
   };
});

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

d3.csvFormat(行[,列])

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

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

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

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

d3.csvFormatRows(行)

此方法用于格式化 csv 行。

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

var string = d3.csvFormatRows(data.map(function(d, i) {
   return [
      d.year.getFullYear(), // Assuming d.year is a Date object.
      d.population
   ];
}));

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

d3.tsvParse(字符串[,行])

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

d3.tsvParseRows(字符串[,行])

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

d3.tsvFormat(行[,列])

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

d3.tsvFormatRows(行)

此方法用于格式化 tsv 行。