Sql 将CSV工作表加载到Marklogic中

Sql 将CSV工作表加载到Marklogic中,sql,Sql,我需要上传一个CSV表到Marklogic数据库,并对其执行一些查询操作。所以,我知道CSV表是否可以上传到数据库中,我们可以对其执行sql查询操作吗?Marklogic是否也支持CSV格式?以及可以对其执行哪些所有查询操作 谢谢。加载CSV数据的方法很多。 请看一下“mlcp”命令。下面是使用mlcp加载CSV的“配方” [http://mark.recipes/4/][1] 另一种方法是使用多种可用工具之一将CSV转换为XML,然后再使用injestion将CSV转换为XML。 xmlsh

我需要上传一个CSV表到Marklogic数据库,并对其执行一些查询操作。所以,我知道CSV表是否可以上传到数据库中,我们可以对其执行sql查询操作吗?Marklogic是否也支持CSV格式?以及可以对其执行哪些所有查询操作


谢谢。

加载CSV数据的方法很多。 请看一下“mlcp”命令。下面是使用mlcp加载CSV的“配方”

[http://mark.recipes/4/][1]
另一种方法是使用多种可用工具之一将CSV转换为XML,然后再使用injestion将CSV转换为XML。
xmlsh就是一个例子:

如果您的CSV是一致且足够简单的,那么它可以在XQuery或服务器中的JavaScript中轻松解析为XML。这取决于CSV的“哪种风格”以及数据的变化程度,从琐碎到复杂

一个“普通”示例:给定的CSV不使用引号或转义符,例如:

1,A Column,with,2.5,values
2,Another Column,with,2.5,but no values
代码片段,例如:

 let $names := ( "id", "description" , "value","comment" )
   for  $line in  tokenize( xdmp:filesystem-file("/tmp/myfile.csv"), "\n" )
       let $cols := tokenize($line,",")
       let $row := <row>{
          for $col at $pos in  $cols
        return 
          element { $names[$pos] } { $col } 
     }</row>
   return xdmp:document-insert( "/mycsvdata/row-" || $cols[1] || ".xml" , $row )
let$names:=(“id”、“说明”、“值”、“注释”)
对于令牌化中的$line(xdmp:filesystem文件(“/tmp/myfile.csv”),“\n”)
让$cols:=标记化($line,“,”)
let$row:={
对于$col中$pos的$col
返回
元素{$names[$pos]}{$col}
}
返回xdmp:documentinsert(“/mycsvdata/row-”| |$cols[1]| |“.xml”,$row)