如何在D3上上传(客户端)和读取CSV“抽象”数据
How to upload (client-side) & read CSV "abstract" data on D3?
我实际上坚持我的研究。我想通过上传 CSV 文件使用 D3(如条形图)创建一些图表。
我发现了一些非常有趣的东西(http://bl.ocks.org/cjrd/6863459),但是,它使用的是JSON,并且文件中的每个信息都由名称(节点,边缘)清楚地标识。
我做了这样的事情:
d3.select("#upload-input").on("click", function(){
document.getElementById("hidden-file-upload").click();
});
d3.select("#hidden-file-upload").on("change", function(){
if (window.File && window.FileReader && window.FileList && window.Blob) {
//Files vars
var uploadFile = this.files[0];
var filereader = new window.FileReader();
filereader.onload = function(){
//Txt file output
var txtRes = filereader.result;
try{
//TODO Read CSV
var data = d3.csv.parse(txtRes);
但是我现在坚持使用这种方法(d3.csv.parse())。
想象一下这样的CSV:
chr19_pos17941294_SNV_C_JAK3;chr2_pos216242917_SNV_A_FN1;chr21_pos46320313_SNV_T_ITGB2;chr5_pos138266546_SNV_A_CTNNA1;chr6_pos160468278_SNV_G_IGF2R
15;11;21;11;41;31
(这是DNA基因以及有多少患者确实拥有它们)。
那么,首先,如何使用解析方法呢?其次,如何正确捕获每个列名称?
我认为这样的事情可以访问名称:
data[0]
但是,我做了一些测试,不仅仅是我得到 JSON 对象。
看起来您没有加载 CSV(C=逗号),而是加载"SSV"(S=分号)。 d3.csv.parse
假设它正在获取实际的csv,因此您无法使用它。但是,d3 有一个较低级别的对象(d3.csv
幕后使用它),它可以解析任何 DSV(D=delimeter)。它被称为d3.dsv
,并记录在这里。所以你的代码可以做类似的事情
filereader.onload = function(){
//Txt file output
var txtRes = filereader.result;
// Init the "SSV" parser, which splits data on semi-colons
var parser = d3.dsv(';')
try{
// Parse the data
var data = parser.parse(txtRes);
根据您的示例数据,解析data
将是:
[
{
"chr19_pos17941294_SNV_C_JAK3": "15",
"chr2_pos216242917_SNV_A_FN1": "11",
"chr21_pos46320313_SNV_T_ITGB2": "21",
"chr5_pos138266546_SNV_A_CTNNA1": "11",
"chr6_pos160468278_SNV_G_IGF2R": "41"
}
]
相关文章:
- 如何读取csv文件并将其转换为javascript中的对象
- 使用jQuery读取CSV以传递给Google可视化API
- 使用JavaScript读取*.csv文件
- 从某个位置读取 CSV 文件并显示为 HTML 表
- D3 使用 d3.map 和 d3 queue() 函数读取 csv
- PapaParse 在读取 CSV 时返回 undefined
- 如何在 jsfiddle 中读取 csv 文件
- 如何在D3上上传(客户端)和读取CSV“抽象”数据
- 为什么这个JavaScript代码不能读取CSV文件
- 当我在 JavaScript 中保存/读取 csv 文件时,如何使用第二张工作表
- 无法在 PHP 中读取 csv 并将其传递给 html 文件中的 javascript
- 使用js直接从html中的url读取csv
- 通过添加更改php中的字符串格式,使其在读取csv的js文件中工作
- PHP如何选择和读取csv文件内容而无需上传
- 在Meteor.js中导入/读取CSV
- 如何读取csv文件的第一列
- 使用javascript读取csv-txt文件并将结果加载到数组中
- d3只读取csv的第一个属性
- 如何在Javascript中读取CSV文件
- 在JavaScript中读取CSV文件