Javascript 用于原型化的CSV/Excel到JSON API
我有一个CSV文件,我想在不同的可视化框架(d3、谷歌图表等)中使用它。是否有一个平台可以让我快速:Javascript 用于原型化的CSV/Excel到JSON API,javascript,sql,json,csv,prototyping,Javascript,Sql,Json,Csv,Prototyping,我有一个CSV文件,我想在不同的可视化框架(d3、谷歌图表等)中使用它。是否有一个平台可以让我快速: 上传CSV文件 以JSON的形式访问文件的内容 如果我可以查询JSON(SQL样式),还有额外的要点 如果我可以上传多个CSV文件并使用查询连接将两者链接在一起,则会得到额外的分数 我尝试过使用谷歌电子表格和谷歌可视化API查询语言。问题是,当您从电子表格中获取JSON时,您将以电子表格格式获取它(如中所示,每个单元格获取一项,而不是CSV文件的初始格式) 谢谢。你可以在图书馆试试,在那里你可以
alasql('SELECT * FROM CSV("cities.csv")', [], function(cities){
console.log("Cities:", cities);
});
b) 以JSON的形式访问文件的内容:
alasql('SELECT * FROM CSV("mydata.csv",{headers:true})', [], function(mydata){
console.log("First city name:", mydata[0].City);
});
c) 查询JSON(SQL样式)
d) 上载多个CSV文件,并使用查询联接将两者链接在一起
alasql('SELECT cities.* FROM CSV("cities.csv",{headers:true}) AS cities \
JOIN CSV("countires.csv",{headers:true}) AS countries \
ON cities.country = countries.country \
WHERE countries.continent = "Afrika"',
[], function(res){
console.log("African cities: ",res);
});
有一种方法可以使用可视化API从Google电子表格中获取csv 尝试此操作,csv变量将使用dataTableToCsv()辅助函数设置为工作表。如果需要,可以使用其他方便的函数包含列标题
函数drawVisualization(){
var query=new google.visualization.query(
'http://spreadsheets.google.com/tq?key=pCQbetd-CptGXxxQIG7VFIQ&pub=1’;
//应用查询语言语句。
setQuery('SELECT*');
//使用回调函数发送查询。
发送(handleQueryResponse);
}
函数handleQueryResponse(响应){
if(response.isError()){
警报('查询中的错误:'+response.getMessage()+'+response.getDetailedMessage());
返回;
}
var data=response.getDataTable();
var csv=google.visualization.datatabletosv(数据);
}
通过在url末尾设置查询,也可以直接从电子表格下载csv。但是,如果您想提交呼叫,则需要一个服务来处理跨域请求。
alasql('SELECT cities.* FROM CSV("cities.csv",{headers:true}) AS cities \
JOIN CSV("countires.csv",{headers:true}) AS countries \
ON cities.country = countries.country \
WHERE countries.continent = "Afrika"',
[], function(res){
console.log("African cities: ",res);
});
<script type="text/javascript"
src='https://www.google.com/jsapi?autoload={
"modules":[{
"name":"visualization",
"version":"1"
}]
}'></script>
<script type="text/javascript">
function drawVisualization() {
var query = new google.visualization.Query(
'http://spreadsheets.google.com/tq?key=pCQbetd-CptGXxxQIG7VFIQ&pub=1');
// Apply query language statement.
query.setQuery('SELECT *');
// Send the query with a callback function.
query.send(handleQueryResponse);
}
function handleQueryResponse(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var data = response.getDataTable();
var csv = google.visualization.dataTableToCsv(data);
}
</script>
</head>
<body>
<div id="visualization" style="height: 400px; width: 400px;"></div>
</body>