本文介绍表格函数的语法规则,包括参数解释、函数示例等。

函数列表

类型 函数 说明
文本到表格 tab_parse_csv 从CSV格式的文本中构建表格。
表格到字典 tab_to_dict 从表格中构建字典。

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