码迷,mamicode.com
首页 > Web开发 > 详细

【 D3.js 进阶系列 — 1.1 】 其他表格文件的读取

时间:2014-10-08 12:10:55      阅读:311      评论:0      收藏:0      [点我收藏+]

标签:d3   dsv   tsv   表格   读取   

CSV 表格文件是以逗号作为单元分隔符的,其他还有以制表符 Tab 作为单元分隔符的 TSV 文件,还有人为定义的其它分隔符的表格文件。本文将说明在 D3 中如何读取它们。

 

1. TSV 表格文件是什么

TSV(Tab Separated Values),制表分隔值,它和 CSV 文件仅仅是分隔符不一致。它的格式如下:

name	age
张三	22
李四	24

2. D3 中读取 TSV 文件

在 D3 中读取 TSV 文件的方法和 CSV 文件是一样的,只要更改一下函数名即可。方法如下:

			d3.tsv("table.tsv",function(error,tsvdata){
				console.log(tsvdata);
				var str = d3.tsv.format( tsvdata );			
				console.log(str.length);
				console.log(str);	
			});

我们可以看到,这和【进阶系列 — 1.0】是基本一样的,详细说明可参见此文。


3. D3 中读取 CSV 和 TSV 的本质

在上面两节我们可以看到,读取 CSV 和 TSV 惊人地相似。其实它们本质上都是一个函数,我们来看看 D3 源码中的定义:

  d3.csv = d3.dsv(",", "text/csv");
  d3.tsv = d3.dsv("	", "text/tab-separated-values");

可以看到,它们其实都是 d3.dsv 函数。那么这个 dsv 函数是怎么回事呢?dsv 其实可以读取以任意字符或字符串作为分隔符的表格文件。接下来我们来试试用 dsv 函数读取以分号作为分隔符的表格文件。假设有如下文件:

name;age
张三;22
李四;24

读取的代码如下:

			var dsv = d3.dsv(";", "text/plain");
			dsv("table.dsv",function(error,dsvdata){
				if(error)
					console.log(error);
				console.log(dsvdata);
			});

先用 d3.dsv(";", "text/plain"); 定义分隔符为分号,再按照读取 csv 和 tsv 文件一样的方法读取即可。但要注意第二行不再需要用 d3.dsv ,因为变量 dsv 已经是一个函数了。


4. 结束语

CSV 文件和 TSV 文件仅仅是分隔符不同,它们的本质都是调用的 DSV 函数,所以 DSV 函数的掌握至关重要。

谢谢阅读。


文档信息


【 D3.js 进阶系列 — 1.1 】 其他表格文件的读取

标签:d3   dsv   tsv   表格   读取   

原文地址:http://blog.csdn.net/lzhlzz/article/details/39890595

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!