alasql - 与 csv 一起使用时的列名?
alasql - column names when using with csv?
当文件中没有 header 时,我正在尝试查看从命令行使用 alasql 时如何引用列名?
我尝试了几个不同的选项,但都没有成功。
例如
$ alasql 'SELECT a[1] FROM TAB(?) as a' data.csv
$ alasql 'SELECT [1] FROM TAB(?) as a' data.csv
但他们都给我一个空的结果集,像这样:
[
{},
{},
{}
]
我看不出如何使用隐含的列名来做到这一点,所以我最终在我的 csv 文件中添加了一个 header,并在 javascript 中编写了代码。它从那里工作得很好。
var alasql = require("alasql");
alasql.promise('SELECT * FROM TAB("../data/table1.tab", {headers:true}) a, TAB("../data/target_tags.tab", {headers:true}) b WHERE a.tag = b.tag')
.then(function(data){
if (data.length > 0)
{
console.log("Some bad tags still exist!");
console.log(data);
}
else
{
console.log("All bad tags have been removed!");
}
}).catch(function(err){
console.log('Error:', err);
});
当文件中没有 header 时,我正在尝试查看从命令行使用 alasql 时如何引用列名?
我尝试了几个不同的选项,但都没有成功。
例如
$ alasql 'SELECT a[1] FROM TAB(?) as a' data.csv
$ alasql 'SELECT [1] FROM TAB(?) as a' data.csv
但他们都给我一个空的结果集,像这样:
[
{},
{},
{}
]
我看不出如何使用隐含的列名来做到这一点,所以我最终在我的 csv 文件中添加了一个 header,并在 javascript 中编写了代码。它从那里工作得很好。
var alasql = require("alasql");
alasql.promise('SELECT * FROM TAB("../data/table1.tab", {headers:true}) a, TAB("../data/target_tags.tab", {headers:true}) b WHERE a.tag = b.tag')
.then(function(data){
if (data.length > 0)
{
console.log("Some bad tags still exist!");
console.log(data);
}
else
{
console.log("All bad tags have been removed!");
}
}).catch(function(err){
console.log('Error:', err);
});