案例四:处理地层表数据
案例概述
本案例演示如何从本地 CSV 读取地层表并进行数据处理(去除钻孔编号重复的行、新增由地层编号+岩土名称组成的『地层名称』列)。
你将学到
如何使用 GdiSDK 内置模块处理地层表数据。
用
CsvReader指定文件路径与编码读取表格。用
DropDuplicateRows按指定字段去除重复行。用
AddTableColumns通过模板表达式拼接生成新列。用
>>、|连接各个模块,运行后将结果导出为 CSV。
实现思路
创建
PipeLine,指定应用名称与工作空间。使用
CsvReader读取地层表 CSV 文件。使用
DropDuplicateRows,对bore_number去重,保留每条钻孔的有效记录。使用
AddTableColumns,新增layer_name,模板为layer_number与material_name拼接。依次连接
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()
更进一步
完整代码请查看以下链接: