如何在Azure数据工厂中读取扩展名为.xlsx和.xls的文件?

vik*_*mar 5 excel azure azure-data-factory azure-data-factory-2

我正在尝试在Azure数据工厂数据集中读取具有.xlsx扩展名的Azure Blob存储中的文件并使其表现出色。它引发以下错误

Error found when processing 'Csv/Tsv Format Text' source 'Filename.xlsx' with row number 3: found more columns than expected column count: 1.
Run Code Online (Sandbox Code Playgroud)

什么是在Azure Data Factory中读取Excel文件的正确列和行分隔符

wBo*_*Bob 8

Excel文件具有专有格式,不是简单的定界文件。如图所示这里,Azure的数据工厂并不会产生直接的选项导入Excel文件,例如,你不能创建一个链接服务到Excel文件,轻松地阅读。您的选择是:

  1. 将数据导出或转换为平面文件(例如,在传输到云之前),因为.csv,制表符分隔,管道分隔等比Excel文件更易于阅读。尽管显然需要更改流程,但这是最简单的选择。
  2. 尝试将XML切碎-创建一个自定义任务,以XML格式打开Excel文件并按照此处的建议提取数据。
  3. 现在,Azure Data Factory中支持SSIS包(具有“ 执行SSIS包”活动),并且对Excel文件(例如连接管理器)具有更好的支持。因此,可以选择创建一个SSIS包以处理Excel并将其托管在ADFv2中。 警告! 我还没有测试过,我只是猜测这是可能的。另外,创建用于在ADFv2中运行SSIS的集成运行时(IR)的开销也很大。
  4. 尝试一些其他的自定义活动,例如,有一个自定义的U型SQL提取用于在github切碎XML 这里
  5. 尝试使用Databricks读取Excel,这里有一些示例尽管拆分一个Spark集群以读取一些Excel文件似乎有些过头了。如果Spark已经在您的体系结构中,那么这可能是一个不错的选择。

让我们知道您的身体情况如何。


Die*_*des 1

Azure 数据工厂 V2 最近发布了一个更新,支持解析现有连接器上的 Excel(.xls) 文件。

目前支持excel文件的连接有:

  • 亚马逊S3
  • 蔚蓝斑点
  • Azure 数据湖存储 Gen1
  • Azure 数据湖存储 Gen2
  • Azure 文件存储
  • 文件系统
  • 文件传输协议
  • 谷歌云存储
  • 分布式文件系统
  • HTTP协议
  • SFTP

更多详细信息可以在这里找到:https ://learn.microsoft.com/en-us/azure/data-factory/format-excel