删除或忽略 Azure 中 CSV 文件中的最后一列

Remove or ignore last column in CSV file in Azure

我在 SFTP 上有一个 CSV 文件,它有 13 列,但令人恼火的是最后一列没有数据或 header,所以基本上每条记录的末尾都有一个额外的逗号:

PGR,Concession ,Branch ,Branch Name ,Date ,Receipt ,Ref/EAN,Till No ,Qty , Price  , Discount , Net Price  ,

我想使用数据工厂中的副本 Activity 将此文件导入到 Azure 中的 SQL table,但出现此错误:

我知道如果我手动打开文件并右键单击并删除 M 列(完全空白),那么它就可以正常工作。但这需要是一个自动化过程,有人可以帮忙吗?不太熟悉 ADF 中的数据流,所以这可能是一个选项,或者如果 ADF 不是正确的方法,我也可以使用逻辑应用程序访问文件。

一种解决方法是解析 csv 文件并使用 SQL Server 连接器从逻辑应用程序直接仅将所需数据发送到 Azure sql。这是我的逻辑应用程序的屏幕截图。

结果:

或者,您可以使用具有所需条件的 Select 规则从 ADF 中删除最后一列。

name != 'null' && left(name,2) != '_c'

因为ADF数据集的header是空白的,数据流会将其命名为“_c()”我们使用left(name,2) != '_c'.

参考资料: Remove specific columns using Azure Data Factory