本文介绍表格函数的语法规则,包括参数解释、函数示例等。
函数列表
类型 | 函数 | 说明 |
文本到表格 | 从CSV格式的文本中构建表格。 | |
表格到字典 | 从表格中构建字典。 |
tab_parse_csv
从CSV格式的文本中构建表格。
函数格式
tab_parse_csv( data, sep=',', quote='"', lstrip=True, headers=None, case_insensitive=True, primary_keys=None, )
参数说明
参数名称
数据类型
是否必填
说明
data
String
是
文本格式,一般是CSV格式。
sep
String
否
CSV格式的分隔符,默认为半角逗号(,)。
quote
String
否
引用符,值中有分隔符时需使用引用符对值进行包裹。默认为半角双引号(")。
lstrip
Boolean
否
是否删除每个关键字开头的空格,默认为True。
headers
String、String List
否
解析的每个域信息,默认从第一行提取。当第一行是数据时,需要通过这个参数传入。
case_insensitive
Boolean
否
匹配时是否大小写不敏感,默认True。
primary_keys
String、String List
否
data数据中的主键。
设置该参数后,再使用映射富化函数时,映射富化函数的field参数中的字段应与此处保持一致。关于映射富化函数的更多信息,请参见映射富化函数。
返回结果
返回映射后的表格数据。
函数示例
示例1:直接构建,并映射字段的值。
原始日志
city:nanjing
加工规则
e_table_map( tab_parse_csv( "province,city,pop,gdp\nshanghai,shanghai,2000,1000\njiangsu,nanjing,800,500" ), "city", "province", )
加工结果
city:nanjing province:jiangsu
示例2:直接构建,并映射多个字段的值。
原始日志
city:nanjing province:jiangsu
加工规则
e_table_map( tab_parse_csv( "province,city,pop,gdp\nshanghai,shanghai,2000,1000\njiangsu,nanjing,800,500" ), ["province", "city"], ["pop", "gdp"], )
加工结果
city:nanjing gdp:500 pop:800 province:jiangsu
示例3:多个字段映射与表格列名不一样。源字段括号内第一个是源字段,第二个是表格字段;目标字段括号内第一个是表格字段,第二个是新字段。
原始日志
city:nanjing province:jiangsu
加工规则
e_table_map( tab_parse_csv( "prov,city,pop,gdp\nshanghai,shanghai,2000,1000\njiangsu,nanjing,800,500" ), [("province", "prov"), "city"], [("pop", "population"), ("gdp", "GDP")], )
加工结果
GDP:500 city:nanjing population:800 province:jiangsu
示例4:多个字段映射与表格列名不一样。源字段括号内第一个是源字段,第二个是表格字段;目标字段括号内第一个是表格字段,第二个是新字段。源字段括号内的表格字段与主键保持一致。
原始日志
city:nanjing province:jiangsu
加工规则
e_table_map( tab_parse_csv( "prov,city,pop,gdp\nshanghai,shanghai,2000,1000\njiangsu,nanjing,800,500", primary_keys=["prov", "city"], ), [("province", "prov"), "city"], [("pop", "population"), ("gdp", "GDP")], )
加工结果
GDP:500 city:nanjing population:800 province:jiangsu
tab_to_dict
从表格中构建字典。
函数格式
tab_to_dict(table, key_field, value_field, key_join=",", value_join=",")
参数说明
参数名称
数据类型
是否必填
说明
table
table
是
表格数据信息。
key_field
String、String List
是
用来构建字典关键字的表格列,多个时使用
key_join
拼接。value_field
String、String List
是
用来构建字典值的表格列,多个时使用
value_join
拼接。key_join
String
否
拼接多个列为Key的连接字符串,默认为半角逗号(,)。
value_join
String
否
拼接多个列为Value的连接字符串,默认为半角逗号(,)。
返回结果
返回映射后的字典数据
函数示例
示例1
原始日志
k1:v1 city:nj
加工规则
e_dict_map( tab_to_dict(tab_parse_csv("city,pop\nsh,2000\nnj,800"), "city", "pop"), "city", "popu", )
加工结果
k1:v1 city:nj popu:800
示例2
原始日志
k1:v1 city:js,nj
加工规则
e_dict_map( tab_to_dict( tab_parse_csv("province,city,pop\nsh,sh,2000\njs,nj,800"), ["province", "city"], "pop", ), "city", "popu", )
加工结果
k1:v1 city:js,nj popu:800