如何在不丢失Foundry中其他列的情况下将excel附加到现有数据集中?

问题描述

上下文:我们的企业用户通过邮件接收要导入到Foundry中的excel表格(.xlsx)。我们就文件标签的给定结构和命名约定达成一致,以便将它们简单地拖放到特定文件夹中并将它们附加到现有数据集中。然后,此现有数据集的更改将触发管道(原始->清除->本体)。

问题::我们使用“其他列”来清理数据并基于它们应用一些逻辑(_filePath,_byteOffset,_importedAt),但是每次添加新的Excel时,架构似乎都是重置,并且“附加列”未选中。

Additional Columns unticked in "Edit schema"

在将Excel工作表导入并将其添加到现有数据集之后,是否可以保留“其他列”?

解决方法

不幸的是,通过拖放界面导入总是替换导入时的现有架构,这就是您丢失额外列的原因。如果您可以将文件创建为 CSV 而不是 XLS,那么您可以附加并保留现有架构,包括附加列。另一种方法(尽管是间接的)是在 raw 和 clean 之间增加一个步骤,调用元数据 API 来添加可选列。

您想设置这些 textParserParam 参数:

textParserParams["addFilePath"] = True
textParserParams["addByteOffset"] = True
textParserParams["addImportedAt"] = True