csv.from() 函数
csv.from() 从逗号分隔值(CSV)数据源获取数据并返回一个表流。
函数类型签名
(?csv: string, ?file: string, ?mode: string) => stream[A] where A: Record
有关更多信息,请参见 Function type signatures。
参数
csv
CSV 数据。
支持带注释的CSV或原始CSV。使用 mode 来指定解析模式。
文件
要查询的CSV文件的文件路径。
路径可以是绝对的或相对的。
如果是相对的,它是相对于fluxd进程的工作目录。
CSV文件必须存在于运行fluxd进程的同一文件系统中。
模式
是CSV解析模式。默认是 annotations。
可用的注释模式
- annotations: 使用CSV注释来确定列数据类型。
- 原始: 将所有列解析为字符串,并使用第一行为标题行,所有后续行为数据。
示例
从文件查询带注释的CSV数据
import "csv"
csv.from(file: "path/to/data-file.csv")
从CSV文件查询原始数据
import "csv"
csv.from(file: "/path/to/data-file.csv", mode: "raw")
查询带注释的CSV字符串
import "csv"
csvData =
"
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,double
#group,false,false,false,false,false,true,true,false
#default,,,,,,,,
,result,table,_start,_stop,_time,region,host,_value
,mean,0,2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:50:00Z,east,A,15.43
,mean,0,2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:51:00Z,east,A,65.15
,mean,1,2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:50:20Z,east,B,59.25
,mean,1,2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:51:20Z,east,B,18.67
,mean,2,2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:50:40Z,east,C,52.62
,mean,2,2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:51:40Z,east,C,82.16
"
csv.from(csv: csvData)
查询原始CSV字符串
import "csv"
csvData =
"
_start,_stop,_time,region,host,_value
2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:50:00Z,east,A,15.43
2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:50:20Z,east,B,59.25
2018-05-08T20:50:00Z,2018-05-08T20:51:00Z,2018-05-08T20:50:40Z,east,C,52.62
"
csv.from(csv: csvData, mode: "raw")