Javascript D3.js是否可以使用";空白“;分离值?

Javascript D3.js是否可以使用";空白“;分离值?,javascript,d3.js,Javascript,D3.js,D3.js有tsv和csv获取。假设我们有数据: x y 1 3 2.2 -1.8 3 4 数据实际上可以用空格分隔,这是真的吗?我们可以编写一个预处理器,通过将文件拆分为空白来转换文件,例如 const data=`x y 1 3 2.2 -1.8 3 4`; console.log(data.split(“\n”).map(line=>line.trim().split(/\s+/).join(“\t”).join(“\n”)您可以在d3.d

D3.js有
tsv
csv
获取。假设我们有数据:

x  y 
1     3
  2.2     -1.8
 3  4
数据实际上可以用空格分隔,这是真的吗?我们可以编写一个预处理器,通过将文件拆分为空白来转换文件,例如

const data=`x y
1     3
2.2     -1.8
3  4`;

console.log(data.split(“\n”).map(line=>line.trim().split(/\s+/).join(“\t”).join(“\n”)您可以在
d3.dsv
中设置不同的分隔符(表示分隔符分隔的值),尽管逗号(CSV)和制表符(TSV)是目前最常见的分隔符

首先,设置分隔符:

const whiteSpaceParser = d3.dsvFormat(" ");
然后,使用
parse()
方法解析文件:

const data = whiteSpaceParser.parse(file);
以下是演示:

const file=`x y
1 3
2.2 -1.8
3 4`;
常量whiteSpaceParser=d3.dsvFormat(“”);
const data=whiteSpaceParser.parse(文件,d3.autoType);
console.log(数据)

如果空白可以混合使用空格和制表符怎么办?第一个字段前的空格是什么?第一个字段实际上会被视为“空”吗?@nonopolity对于这个解决方案,文件需要有符合其他DSV相同规则的分隔符(在您的例子中是空格),因此答案是否,不允许混合。如果您有混合,我建议您使用
d3.text()
并编写自定义解析器来解析数据。