假设我的kdb +数据库有几个表。如何将所有表导出到csv文件,其中每个csv的名称与表名相同?
答案 0 :(得分:7)
可能有多种方法可以解决这个问题,一种解决方案可能是:
q)t1:([]a:1 2 3;b:1 2 3)
q)t2:([]a:1 2 3;b:1 2 3;c:1 2 3)
q){save `$(string x),".csv"} each tables[]
`:t1.csv`:t2.csv
参考:http://code.kx.com/q/ref/filewords/#save
如果您希望指定要保存的文件的目录,那么您可以像这样增强功能:
q){[dir;tSym] save ` sv dir,(`$ raze string tSym,`.csv)}[`:C:/Users/dhughes1/Documents;] each tables[]
`:C:/Users/dhughes1/Documents/t1.csv`:C:/Users/dhughes1/Documents/t2.csv
答案 1 :(得分:0)