Stata odbc 获取列注释作为标签
Posted
技术标签:
【中文标题】Stata odbc 获取列注释作为标签【英文标题】:Stata odbc get column comment as label 【发布时间】:2021-11-04 12:21:16 【问题描述】:我正在尝试将 impala sql 中的数据访问到 Stata:
clear all
#delimit;
odbc load, exec("
SELECT column_name
data_base_name.table_name
")
dsn("<my dsn>")
user("")
password("");
#delimit cr
查询工作正常,但标签为空。有没有办法让这些进入stata?
我通过以下方式创建了 cmets:
ALTER TABLE data_base_name.table_name
CHANGE column_name column_name string comment 'test comment';
因此,当我导入 Stata 时,变量名称 column_name
应该带有“测试注释”标签。这可能吗?或任何其他方式(我的意思是评论除外)?
【问题讨论】:
【参考方案1】:help odbc
没有提到任何关于 cmets 的内容,odbc describe
没有返回列 cmets 并且手册中也没有提到访问 cmets,所以似乎没有一个直接的方法。这是一个解决方法,使用来自 SSC 的 moremata
。
odbc load, exec("DESCRIBE data_base_name.table_name") dsn("my dsn") clear
list
// Get variable names and comment labels
* ssc install moremata
mata: st_local("vars", invtokens(st_sdata(., ("name"))'))
mata: st_local("labels", mm_invtokens(st_sdata(., ("comment"))'))
local n_vars = _N
// Get actual data and label the variables
odbc load, exec("SELECT * FROM data_base_name.table_name") dsn("my dsn") clear
forval i = 1/`n_vars'
cap confirm variable `:word `i' of `vars''
if !_rc label var `:word `i' of `vars'' "`:word `i' of `labels''"
【讨论】:
以上是关于Stata odbc 获取列注释作为标签的主要内容,如果未能解决你的问题,请参考以下文章
Python pandas / matplotlib在条形图列上方注释标签[重复]
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释