表格函数

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

函数列表

类型

函数

说明

文本到表格

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