案例四:处理地层表数据

案例概述

本案例演示如何从本地 CSV 读取地层表并进行数据处理(去除钻孔编号重复的行、新增由地层编号+岩土名称组成的『地层名称』列)。

你将学到

如何使用 GdiSDK 内置模块处理地层表数据。

  • CsvReader 指定文件路径与编码读取表格。

  • DropDuplicateRows 按指定字段去除重复行。

  • AddTableColumns 通过模板表达式拼接生成新列。

  • >>| 连接各个模块,运行后将结果导出为 CSV。

实现思路

  1. 创建 PipeLine,指定应用名称与工作空间。

  2. 使用 CsvReader 读取地层表 CSV 文件。

  3. 使用 DropDuplicateRows,对 bore_number 去重,保留每条钻孔的有效记录。

  4. 使用 AddTableColumns,新增 layer_name,模板为 layer_numbermaterial_name 拼接。

  5. 依次连接 ReadCsv DropDuplicate AddColumn,运行 Pipeline。

关键代码

本例关键在于读取表格、数据去重、新增一列并将它们依次连接起来,对应代码如下。

read_csv = CsvReader(mname="ReadCsv")
read_csv.file = "examples/gettingStarted/地层表.csv"

drop_duplicate = DropDuplicateRows(mname="DropDuplicate")
drop_duplicate.subset = ["bore_number"]

add_column = AddTableColumns(mname="AddColumn")
add_column.column_templates = {"layer_name": "{layer_number} + {material_name}"}

pipeline.add_links(
    read_csv.OutputTable >> drop_duplicate.InputTable
    | drop_duplicate.OutputTable >> add_column.InputTable
)
pipeline.run()

更进一步

完整代码请查看以下链接:

getBoreTable-step1.py