Condividi tramite


Formato di file di Excel in Azure Data Factory e Azure Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

Seguire questo articolo quando si desidera analizzare i file di Excel. Il servizio supporta sia ".xls" che ".xlsx".

Il formato Excel è supportato per i connettori seguenti: Amazon S3, Amazon S3 Compatible Storage, BLOB di Azure, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, File di Azure, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage e SFTP. È supportato come origine, ma non come sink.

Nota

Il formato ".xls" non è supportato durante l'uso di HTTP.

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere l'articolo Set di dati. In questa sezione viene fornito un elenco delle proprietà supportate dal set di dati di Excel.

Proprietà Descrizione Richiesto
type La proprietà type del set di dati deve essere impostata su Excel.
location Impostazioni di posizione dei file. Ogni connettore basato su file ha il proprio tipo di percorso e le proprietà supportate in location.
sheetName Nome del foglio di lavoro di Excel per leggere i dati. Specificare sheetName o sheetIndex
sheetIndex Indice del foglio di lavoro di Excel per leggere i dati, a partire da 0. Specificare sheetName o sheetIndex
range Intervallo di celle nel foglio di lavoro specificato per individuare i dati selettivi, ad esempio:
- Non specificato: legge l'intero foglio di lavoro come tabella dalla prima riga e colonna non vuota
- A3: legge una tabella a partire dalla cella specificata, rileva dinamicamente tutte le righe seguenti e tutte le colonne a destra
- A3:H5: legge questo intervallo fisso come tabella
- A3:A3: legge questa singola cella
No
firstRowAsHeader Specifica se trattare la prima riga dell’intervallo/foglio di lavoro come riga di intestazione con nomi di colonne.
I valori consentiti sono true e false (impostazione predefinita).
No
nullValue Specifica la rappresentazione di stringa del valore Null.
Il valore predefinito è stringa vuota.
No
compressione Gruppo di proprietà per configurare la compressione dei file. Configurare questa sezione se si desidera eseguire la compressione/decompressione durante l'esecuzione dell'attività. No
type
(in compression)
Codec di compressione usato per leggere/scrivere file JSON.
I valori consentiti sono bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappyo lz4. Il valore predefinito non è compresso.
Nota attualmente l'attività Copy non supporta "snappy" & "lz4" e il flusso di dati di mapping non supporta "ZipDeflate", "TarGzip" e "Tar".
Si noti che quando si usa l'attività di copia per decomprimere i file ZipDeflate e scrivere nell'archivio dati sink basato su file, i file vengono estratti nella cartella : <path specified in dataset>/<folder named as source zip file>/.
No.
level
(in compression)
Rapporto di compressione.
I valori consentiti sono ottimale o più veloce.
- Fastest: l'operazione di compressione deve essere completata il più rapidamente possibile, anche se il file risultante non viene compresso in modo ottimale.
- Optimal: l'operazione di compressione deve comprimere il file in modo ottimale, anche se il completamento richiede più tempo. Per maggiori informazioni, vedere l'argomento relativo al livello di compressione .
No

Di seguito è riportato un esempio di set di dati di Excel in Archiviazione BLOB di Azure:

{
    "name": "ExcelDataset",
    "properties": {
        "type": "Excel",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "sheetName": "MyWorksheet",
            "range": "A3:H5",
            "firstRowAsHeader": true
        }
    }
}

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. In questa sezione viene fornito un elenco delle proprietà supportate dall'origine excel.

Excel come origine

Nella sezione *source* dell'attività Copy sono supportate le proprietà seguenti.

Proprietà Descrizione Richiesto
type La proprietà type dell'origine dell'attività di copia deve essere impostata su ExcelSource.
storeSettings Gruppo di proprietà su come leggere i dati da un archivio dati. Ogni connettore basato su file dispone di impostazioni di lettura proprie supportate in storeSettings. No
"activities": [
    {
        "name": "CopyFromExcel",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "ExcelSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            ...
        }
        ...
    }
]

Proprietà del flusso di dati per mapping

Nei flussi di dati di mapping è possibile leggere il formato excel negli archivi dati seguenti: Archiviazione BLOB di Azure, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Amazon S3 e SFTP. È possibile puntare ai file di Excel usando il set di dati di Excel o usando un set di dati inline.

Proprietà di origine

Nella tabella seguente sono elencate le proprietà supportate da un'origine excel. È possibile modificare queste proprietà nella scheda Opzioni origine. Quando si usa il set di dati inline, verranno visualizzate impostazioni di file aggiuntive, che corrispondono alle proprietà descritte nella sezione proprietà del set di dati.

Nome Descrizione Richiesto Valori consentiti Proprietà script del flusso di dati
Percorsi con caratteri jolly Verranno elaborati tutti i file corrispondenti al percorso con caratteri jolly. Esegue l'override della cartella e del percorso del file impostato nel set di dati. no String[] wildcardPaths
Partition Root Path (Percorso radice partizione) Per i dati dei file partizionati, è possibile immettere un percorso radice della partizione per leggere le cartelle partizionate come colonne no String partitionRootPath
Elenco di file Indica se l'origine punta a un file di testo che elenca i file da elaborare no true oppure false fileList
Colonna in cui archiviare il nome file Creare una nuova colonna con il nome e il percorso del file di origine no String rowUrlColumn
Dopo il completamento Eliminare o spostare i file dopo l'elaborazione. Il percorso del file inizia dalla radice del contenitore no Eliminare: true o false
Spostare: ['<from>', '<to>']
purgeFiles
moveFiles
Filtra per data ultima modifica Scegliere di filtrare i file in base all'ultima modifica no Timestamp: modifiedAfter
modifiedBefore
Consenti nessun file trovato Se true, non viene generato un errore se non vengono trovati file no true oppure false ignoreNoFilesFound

Esempio di origine

L'immagine seguente è un esempio di configurazione di origine excel nei flussi di dati di mapping tramite la modalità set di dati.

Origine Excel

Lo script del flusso di dati associato è:

source(allowSchemaDrift: true,
    validateSchema: false,
    wildcardPaths:['*.xls']) ~> ExcelSource

Se si usa un set di dati inline, nel flusso di dati di mapping vengono visualizzate le opzioni di origine seguenti.

Set di dati inline di origine excel

Lo script del flusso di dati associato è:

source(allowSchemaDrift: true,
    validateSchema: false,
    format: 'excel',
    fileSystem: 'container',
    folderPath: 'path',
    fileName: 'sample.xls',
    sheetName: 'worksheet',
    firstRowAsHeader: true) ~> ExcelSourceInlineDataset

Nota

Il flusso di dati di mapping non supporta la lettura di file di Excel protetti, perché questi file possono contenere avvisi di riservatezza o imporre restrizioni di accesso specifiche che limitano l'accesso al contenuto.

Gestione di file di Excel molto grandi

Il connettore Excel non supporta la lettura in streaming per il attività Copy e deve caricare l'intero file in memoria prima che i dati possano essere letti. Per importare schema, visualizzare in anteprima i dati o aggiornare un set di dati di Excel, i dati devono essere restituiti prima del timeout della richiesta HTTP (100s). Per i file di Excel di grandi dimensioni, queste operazioni potrebbero non terminare entro tale intervallo di tempo, causando un errore di timeout. Se si desidera spostare file di Excel di grandi dimensioni (>100 MB) in un altro archivio dati, è possibile utilizzare una delle opzioni seguenti per ovviare a questa limitazione:

  • Usare il runtime di integrazione self-hosted (SHIR), quindi usare il attività Copy per spostare il file di Excel di grandi dimensioni in un altro archivio dati con shir.
  • Dividere il file di Excel di grandi dimensioni in diversi file più piccoli, quindi usare il attività Copy per spostare la cartella contenente i file.
  • Usare un'attività del flusso di dati per spostare il file di Excel di grandi dimensioni in un altro archivio dati. Il flusso di dati supporta la lettura in streaming per Excel e può spostare/trasferire rapidamente file di grandi dimensioni.
  • Convertire manualmente il file di Excel di grandi dimensioni in formato CSV, quindi usare un attività Copy per spostare il file.