背景:我有一个 CSV 文件,其中有一列包含给定行的标签列表。标签列表没有任何特定的顺序,并且随标签列中的每个单元格而变化。我正在寻找与字符串“Owner”匹配的行的值。拉入 CSV 文件时,整个单元格是每个单元格 1 个字符串。此列中的示例单元格如下所示:
"Organization": "Microsoft", "Owner": "Eric Holmes", "DateCreated": "07/09/2021"
目标:我想在 Azure 数据流或 Azure 数据工厂中找到一种方法来创建一个新列,其中包含列表中特定键的值。
例子:
当前列
Tags
"Department": "Business", "Owner": "Karen Singh", "DateCreated": "09/20/2019"
"Owner": "Henry Francis", "AppName": "physics-engine", "Department": "GeospatialServices"
"Department": "Fashion", "DateCreated": "01/10/2015", "Owner": "Xiuxiang Long"
所需列
Owner
"Karen Singh"
"Henry Francis"
"Xiuxiang Long"
到目前为止的工作:我已将标签列中的每个字符串拆分为一个数组,方法是将其分开并使用逗号 (,)。然后我用冒号 (:) 在每个索引处拆分每个字符串。这使得值看起来像:
Tags
[["Department", "Business"], ["Owner", "Karen Singh"], ["DateCreated", "09/20/2019"]]
[["Owner", "Henry Francis"], ["AppName", "physics-engine"], ["Department", "GeospatialServices"]]
[[Department", "Fashion"], ["DateCreated", "01/10/2015"], ["Owner", "Xiuxiang Long"]]
为了拆分字符串,我使用了这个开放表达式
mapIndex(split(replace(Tags, '"', ''), ','), split(#item, ':'))
问题 我是开放表达式和 Azure 数据工厂和数据流的新手。有谁知道我会怎么做:
- 搜索所需的标签,例如“所有者”
- 并返回与之关联的值
抱歉,我知道这个问题听起来很简单,但是仅使用开放表达式函数会使这比必要的更加复杂。此外,如果有更好的方法来解决这个问题,我将不胜感激任何输入!我一直在用头撞墙,任何线索都有帮助。谢谢!