表格函數(shù)
本文介紹表格函數(shù)的語(yǔ)法規(guī)則,包括參數(shù)解釋、函數(shù)示例等。
函數(shù)列表
類型 | 函數(shù) | 說明 |
文本到表格 | 從CSV格式的文本中構(gòu)建表格。 | |
表格到字典 | 從表格中構(gòu)建字典。 |
tab_parse_csv
從CSV格式的文本中構(gòu)建表格。
函數(shù)格式
tab_parse_csv( data, sep=',', quote='"', lstrip=True, headers=None, case_insensitive=True, primary_keys=None, )
參數(shù)說明
參數(shù)名稱
數(shù)據(jù)類型
是否必填
說明
data
String
是
文本格式,一般是CSV格式。
sep
String
否
CSV格式的分隔符,默認(rèn)為半角逗號(hào)(,)。
quote
String
否
引用符,值中有分隔符時(shí)需使用引用符對(duì)值進(jìn)行包裹。默認(rèn)為半角雙引號(hào)(")。
lstrip
Boolean
否
是否刪除每個(gè)關(guān)鍵字開頭的空格,默認(rèn)為True。
headers
String、String List
否
解析的每個(gè)域信息,默認(rèn)從第一行提取。當(dāng)?shù)谝恍惺菙?shù)據(jù)時(shí),需要通過這個(gè)參數(shù)傳入。
case_insensitive
Boolean
否
匹配時(shí)是否大小寫不敏感,默認(rèn)True。
primary_keys
String、String List
否
data數(shù)據(jù)中的主鍵。
設(shè)置該參數(shù)后,再使用映射富化函數(shù)時(shí),映射富化函數(shù)的field參數(shù)中的字段應(yīng)與此處保持一致。關(guān)于映射富化函數(shù)的更多信息,請(qǐng)參見映射富化函數(shù)。
返回結(jié)果
返回映射后的表格數(shù)據(jù)。
函數(shù)示例
示例1:直接構(gòu)建,并映射字段的值。
原始日志
city:nanjing
加工規(guī)則
e_table_map( tab_parse_csv( "province,city,pop,gdp\nshanghai,shanghai,2000,1000\njiangsu,nanjing,800,500" ), "city", "province", )
加工結(jié)果
city:nanjing province:jiangsu
示例2:直接構(gòu)建,并映射多個(gè)字段的值。
原始日志
city:nanjing province:jiangsu
加工規(guī)則
e_table_map( tab_parse_csv( "province,city,pop,gdp\nshanghai,shanghai,2000,1000\njiangsu,nanjing,800,500" ), ["province", "city"], ["pop", "gdp"], )
加工結(jié)果
city:nanjing gdp:500 pop:800 province:jiangsu
示例3:多個(gè)字段映射與表格列名不一樣。源字段括號(hào)內(nèi)第一個(gè)是源字段,第二個(gè)是表格字段;目標(biāo)字段括號(hào)內(nèi)第一個(gè)是表格字段,第二個(gè)是新字段。
原始日志
city:nanjing province:jiangsu
加工規(guī)則
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")], )
加工結(jié)果
GDP:500 city:nanjing population:800 province:jiangsu
示例4:多個(gè)字段映射與表格列名不一樣。源字段括號(hào)內(nèi)第一個(gè)是源字段,第二個(gè)是表格字段;目標(biāo)字段括號(hào)內(nèi)第一個(gè)是表格字段,第二個(gè)是新字段。源字段括號(hào)內(nèi)的表格字段與主鍵保持一致。
原始日志
city:nanjing province:jiangsu
加工規(guī)則
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")], )
加工結(jié)果
GDP:500 city:nanjing population:800 province:jiangsu
tab_to_dict
從表格中構(gòu)建字典。
函數(shù)格式
tab_to_dict(table, key_field, value_field, key_join=",", value_join=",")
參數(shù)說明
參數(shù)名稱
數(shù)據(jù)類型
是否必填
說明
table
table
是
表格數(shù)據(jù)信息。
key_field
String、String List
是
用來構(gòu)建字典關(guān)鍵字的表格列,多個(gè)時(shí)使用
key_join
拼接。value_field
String、String List
是
用來構(gòu)建字典值的表格列,多個(gè)時(shí)使用
value_join
拼接。key_join
String
否
拼接多個(gè)列為Key的連接字符串,默認(rèn)為半角逗號(hào)(,)。
value_join
String
否
拼接多個(gè)列為Value的連接字符串,默認(rèn)為半角逗號(hào)(,)。
返回結(jié)果
返回映射后的字典數(shù)據(jù)
函數(shù)示例
示例1
原始日志
k1:v1 city:nj
加工規(guī)則
e_dict_map( tab_to_dict(tab_parse_csv("city,pop\nsh,2000\nnj,800"), "city", "pop"), "city", "popu", )
加工結(jié)果
k1:v1 city:nj popu:800
示例2
原始日志
k1:v1 city:js,nj
加工規(guī)則
e_dict_map( tab_to_dict( tab_parse_csv("province,city,pop\nsh,sh,2000\njs,nj,800"), ["province", "city"], "pop", ), "city", "popu", )
加工結(jié)果
k1:v1 city:js,nj popu:800