首页 > 解决方案 > 带双引号的 Azure 数据工厂 CSV

问题描述

我有一个检索 FTP 托管的 CSV 文件的管道。它是用双引号标识符分隔的逗号。问题存在于字符串封装在双引号中,但字符串本身包含双引号的情况。

字符串示例:"Spring Sale" this year.

它在 csv 中的外观(后跟两个空列):

"","""Spring Sale"" this year",""

SSIS 可以很好地处理这个问题,但数据工厂希望将其转换为不以逗号分隔的额外列。我已经删除了这一行的额外引号,它工作正常。

除了改变来源之外,有没有办法解决这个问题?

标签: azureazure-data-factorydouble-quotesazure-data-factory-2

解决方案


我通过Azure 数据工厂复制任务使用Escape characterset as quote ( ) 来实现这一点。"截屏:

ADF 复印任务

这是基于您的规范的文件:

"","""Spring Sale"" this year",""

并且还可以插入到 Azure SQL 数据库表中。示例 JSON:

{
    "name": "DelimitedText1",
    "properties": {
        "linkedServiceName": {
            "referenceName": "linkedService2",
            "type": "LinkedServiceReference"
        },
        "type": "DelimitedText",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "fileName": "quotes.txt",
                "container": "someContainer"
            },
            "columnDelimiter": ",",
            "escapeChar": "\"",
            "quoteChar": "\""
        },
        "schema": [
            {
                "name": "Prop_0",
                "type": "String"
            },
            {
                "name": "Prop_1",
                "type": "String"
            },
            {
                "name": "Prop_2",
                "type": "String"
            }
        ]
    }
}

也许示例文件太简单了,但在这个配置中它确实对我有用。

或者,只需使用 SSIS 并将其托管在数据工厂中。


推荐阅读