全部產品
Search
文件中心

Simple Log Service:表格函數

更新時間:Jul 16, 2024

本文介紹表格函數的文法規則,包括參數解釋、函數樣本等。

函數列表

類型

函數

說明

文本到表格

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