我在Azure数据工厂中存在以下问题:
在ADLS中,我有一个CSV文件,其值带有换行符:
A, B, C
a, b, c
a, "b
b", c
此CSV使用以下设置加载到(CSV)数据集(在ADF中)中;第一行是标题,引号,双引号(“),列定界符逗号(,),行定界符(\ r,\ n或\ r \ n)和转义字符反斜杠()。
数据集的“预览数据”似乎可以正常工作,并输出包含2行的表。这也是我期望的输出,因为保留了数据的总体结构。
但是,当我尝试在“映射数据流”中使用此数据集并选择“数据预览”(直接在源节点中)时,得到以下输出:
即使整个值在双引号之间,也不会忽略换行符。现在,数据的总体结构被破坏了,因为一行被分成两行。
当我在某些单元格中将带有换行符的Excel文件保存为CSV时,会得到这种数据。我应该如何解决这个问题?我应该以其他方式保存Excel,还是应该在保存为CSV之前尝试删除所有换行符,还是可以让Data Factory解决此问题? Als为什么数据集中的“预览数据”功能似乎可以正常工作,而“映射数据流”中的“数据预览”功能却不能正常工作?
答案 0 :(得分:2)
我尝试了这一点,“复制活动”和“数据流”源设置之间没有什么不同。
我上传了一个csv文件,并在Blob存储中将数据更改为与您相同。
Test.csv:
请检查数据流中的设置。
参考教程:Export Table to CSV,它也适用于Azrue SQL数据库。
更新:
我向Azure支持寻求帮助,他们进行了测试并且存在相同的错误。
希望这会有所帮助。
答案 1 :(得分:2)
遇到同样问题的人,现在微软已经在数据流中启用了多行功能。现在我们可以使用带有多行值的 csv 文件
如果您仍然遇到问题,请检查这个
答案 2 :(得分:1)
我们正在为文本分隔的数据集的ADF数据流添加多行字符串处理。我们将在几次迭代中启用该功能。
此之前的解决方法是将数据从CSV复制到Parquet,然后通过数据流源转换使用该Parquet数据集。