将 .data 文件导入 D3js?
Importing a .data file into D3js?
所以我接到了导入一些数据以进行可视化的任务。具体来说:
http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data
但是,我不知道如何导入 .data 文件。此外,没有 header 行来实际组织文件。
我尝试导入为文本并使用 csv.parseRows() 导致长度为 1 的数组只包含一个长字符串:
我尝试导入为 d3.tsv()。每种技术最终都会将一行导入为一个长字符串,如下所示。
"18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle malibu""
我从未处理过 .data 文件,关于将它们与 D3 一起使用的资源很少。一如既往,我们将不胜感激处理此问题的任何帮助。你们真棒。
谢谢。
您可以使用正则表达式来解析字符串:
/("[^"]+"|[^\s]+)\s*/g
有了这个正则表达式,你就转
18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle malibu"
进入
[
"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(); });
});
});
这里是一个快速 fiddle 显示这一点应用于一行:http://jsfiddle.net/tftdepL4/1/
所以我接到了导入一些数据以进行可视化的任务。具体来说:
http://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data
但是,我不知道如何导入 .data 文件。此外,没有 header 行来实际组织文件。
我尝试导入为文本并使用 csv.parseRows() 导致长度为 1 的数组只包含一个长字符串:
我尝试导入为 d3.tsv()。每种技术最终都会将一行导入为一个长字符串,如下所示。
"18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle malibu""
我从未处理过 .data 文件,关于将它们与 D3 一起使用的资源很少。一如既往,我们将不胜感激处理此问题的任何帮助。你们真棒。
谢谢。
您可以使用正则表达式来解析字符串:
/("[^"]+"|[^\s]+)\s*/g
有了这个正则表达式,你就转
18.0 8 307.0 130.0 3504. 12.0 70 1 "chevrolet chevelle malibu"
进入
[
"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(); });
});
});
这里是一个快速 fiddle 显示这一点应用于一行:http://jsfiddle.net/tftdepL4/1/