Javascript 是否将.data文件导入D3js?
所以我被赋予了导入一些数据以可视化的任务。具体而言: 但是,我不知道如何导入.data文件。此外,没有标题行来实际组织文件 我尝试以文本形式导入,并使用csv.parseRows()命令,该命令导致数组的长度为1,其中仅包含一个长字符串: 我已尝试作为d3.tsv()导入。每种技术最终都会将一行作为一个长字符串导入,如下所示Javascript 是否将.data文件导入D3js?,javascript,d3.js,data-visualization,Javascript,D3.js,Data Visualization,所以我被赋予了导入一些数据以可视化的任务。具体而言: 但是,我不知道如何导入.data文件。此外,没有标题行来实际组织文件 我尝试以文本形式导入,并使用csv.parseRows()命令,该命令导致数组的长度为1,其中仅包含一个长字符串: 我已尝试作为d3.tsv()导入。每种技术最终都会将一行作为一个长字符串导入,如下所示 "18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle m
"18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle malibu""
我从来没有处理过。关于D3使用它们的数据文件和资源很少。我们将一如既往地感谢您对处理此问题的任何帮助。你们太棒了
谢谢。您可以使用正则表达式来解析字符串:
/("[^"]+"|[^\s]+)\s*/g
使用此正则表达式,可以
18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle malibu"
进入
您可以对每一行执行此操作,方法是按每一新行拆分数据文件的内容,然后将每一行映射到正则表达式:
d3.text("http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data", function(data) {
var lines = data.split('\n');
var results = data.map(function (d) {
var match = d.match(regex);
return match.slice(1).map(function (d) { return d.trim(); });
});
});
下面是一个快速的提琴,显示了这一点在一行上的应用:找到了tsv文件的示例,它与您所拥有的最接近:
d3.text("http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data", function(data) {
var lines = data.split('\n');
var results = data.map(function (d) {
var match = d.match(regex);
return match.slice(1).map(function (d) { return d.trim(); });
});
});