Condividi tramite


Testo/CSV

Riassunto

Elemento Descrizione
Stato di rilascio Disponibilità generale
Prodotti Excel
Power BI (modelli semantici)
Power BI (flussi di dati)
Infrastruttura (Dataflow Gen2)
Power Apps (flussi di dati)
Dynamics 365 Customer Insights
Servizi di analisi
Documentazione di riferimento sulle funzioni File.Contents
Lines.FromBinary
Csv.Document

Annotazioni

Alcune funzionalità potrebbero essere presenti in un prodotto, ma non altre a causa di pianificazioni della distribuzione e funzionalità specifiche dell'host.

Capacità supportate

  • Importazione

Connettersi al file di testo/CSV locale da Power Query Desktop

Per caricare un testo locale o un file CSV:

  1. Selezionare l'opzione Testo/CSV in Recupera dati. Questa azione avvia un browser di file locale in cui è possibile selezionare il file di testo.

    Screenshot del file browser aperto quando fai la selezione del file di testo.

    Selezionare Apri per aprire il file.

  2. Dallo strumento di navigazione è possibile trasformare i dati nell'editor di Power Query selezionando Trasforma dati o caricando i dati selezionando Carica.

    Screenshot del testo di esempio nello strumento di navigazione.

Connettersi al file di testo/CSV da Power Query Online

Per caricare un testo locale o un file CSV:

  1. Nella pagina Origini dati selezionare Testo/CSV.

  2. Nelle Impostazioni di connessione, caricare il file o immettere un percorso di file al file di testo locale o al file CSV desiderato.

    Screenshot della schermata di selezione dei file di testo online.

  3. Seleziona un gateway dati locale dal menu Gateway dati.

  4. Immettere un nome utente e una password.

  5. Seleziona Avanti.

  6. Nello strumento di navigazione selezionare Trasforma dati per iniziare a trasformare i dati nell'editor di Power Query.

    Screenshot della finestra dello strumento di navigazione online in cui si seleziona Trasforma dati.

Caricare dal Web

Per caricare un file di testo o CSV dal Web, selezionare il connettore Web, immettere l'indirizzo Web del file e seguire eventuali richieste di credenziali.

Delimitatori di testo/CSV

Power Query considera i file CSV come file strutturati con una virgola come delimitatore, cioè un caso speciale di file di testo. Se si sceglie un file di testo, Power Query tenta automaticamente di determinare se contiene valori delimitati da separatore e quale sia questo separatore. Se può dedurre un delimitatore, lo considera automaticamente come origine dati strutturata.

Testo non strutturato

Se il file di testo non ha struttura, si ottiene una singola colonna con una nuova riga per riga codificata nel testo di origine. Come esempio per il testo non strutturato, è possibile prendere in considerazione un file del Blocco note con il contenuto seguente:

Hello world.
This is sample data.

Quando la si carica, viene visualizzata una schermata di navigazione che inserisce ciascuna di queste linee nella propria riga.

Screenshot dello strumento di navigazione con dati caricati da un semplice file di testo non strutturato.

C'è solo una cosa che puoi configurare in questa finestra di dialogo, ovvero l'opzione di selezione Origine file. Questo elenco a discesa consente di selezionare il set di caratteri usato per generare il file. Attualmente, il set di caratteri non viene riconosciuto automaticamente e UTF-8 viene riconosciuto solo se inizia con un Byte Order Mark UTF-8.

Screenshot della selezione della cultura del file per Testo/CSV.

CSV

È possibile trovare un file CSV di esempio qui.

Oltre all'origine file, CSV supporta anche la specifica del delimitatore e la modalità di gestione del rilevamento dei tipi di dati.

Screenshot dello strumento di navigazione che mostra i dati caricati da un file CSV.

I delimitatori disponibili includono due punti, virgola, segno uguale, punto e virgola, spazio, tabulazione, un delimitatore personalizzato (che può essere qualsiasi stringa) e larghezza fissa (dividendo il testo in un numero standard di caratteri).

Screenshot della selezione del delimitatore per un file CSV.

L'elenco a discesa finale consente di selezionare la modalità di gestione del rilevamento dei tipi di dati. Può essere eseguita in base alle prime 200 righe o all'intero set di dati. Inoltre, è possibile scegliere di non eseguire il rilevamento automatico dei tipi di dati e lasciare invece che tutte le colonne vengano impostate su "Text". Avviso: se lo si esegue nell'intero set di dati, il caricamento iniziale dei dati nell'editor potrebbe risultare più lento.

Screenshot della selezione della deduzione del tipo di dati per un file CSV.

Poiché l'inferenza può essere errata, vale la pena controllare le impostazioni prima del caricamento.

Testo strutturato

Quando Power Query è in grado di rilevare la struttura nel file di testo, considera il file di testo come un file delimitatore separato da valori e offre le stesse opzioni disponibili all'apertura di un file CSV, che è essenzialmente un file con estensione che indica il tipo di delimitatore.

Ad esempio, se si salva l'esempio seguente come file di testo, viene letto con un delimitatore a tabulazione anziché come testo non strutturato.

Column 1	Column 2	Column 3
This is a string.	1	ABC123
This is also a string.	2	DEF456

Screenshot che mostra i dati caricati da un file di testo strutturato.

Questa struttura può essere utilizzata per qualsiasi tipo di altro file basato su delimitatore.

Modifica della sorgente

Quando si modifica il passaggio di origine (nel riquadro Passaggi applicati di Power Query Desktop), viene visualizzata una finestra di dialogo leggermente diversa rispetto al caricamento iniziale. A seconda di come stai gestendo attualmente il file (ovvero come testo o csv), ti viene presentata una schermata con vari elenchi a discesa.

Screenshot della finestra di dialogo in cui si modifica il passaggio di origine in una query che accede a un file CSV.

Il menu a tendina Interruzioni di linea consente di scegliere se applicare le interruzioni di linea all'interno delle virgolette o meno.

Screenshot dell'elenco a discesa in cui si seleziona lo stile di interruzione di riga per un file CSV.

Ad esempio, se si modifica l'esempio "strutturato" fornito in precedenza, è possibile aggiungere un'interruzione di riga.

Column 1	Column 2	Column 3
This is a string.	1	"ABC
123"
This is also a string.	2	"DEF456"

Se le interruzioni di riga sono impostate su Ignora interruzioni di riga tra virgolette, questo esempio viene caricato con la seconda metà della stringa sotto la prima metà della stessa colonna.

Caricamento di un file CSV ignorando le interruzioni di riga incluse tra virgolette.

Se le interruzioni di riga sono impostate su Applica tutte le interruzioni di riga, questo esempio carica una riga aggiuntiva, con il contenuto dopo che le interruzioni di riga sono l'unico contenuto di tale riga (l'output esatto potrebbe dipendere dalla struttura del contenuto del file).

Caricamento di un file CSV con interruzioni di riga tra virgolette applicate.

L'elenco a discesa Apri file come consente di modificare il formato con cui si desidera caricare il file, il che è importante per la risoluzione dei problemi. Per i file strutturati che non sono tecnicamente CSV (ad esempio, un file con valori separati da schede salvato come file di testo), è necessario avere comunque Open file come impostato su CSV. Questa impostazione determina anche quali elenchi a discesa sono disponibili nel resto della finestra di dialogo.

Modifica del tipo di file.

Testo/CSV per esempio

Testo/CSV tramite esempio in Power Query è una funzionalità disponibile a livello generale in Power BI Desktop e Power Query Online. Quando si usa il connettore Text/CSV, viene visualizzata un'opzione Estrazione tabella usando esempi nell'angolo inferiore sinistro del navigatore.

Utilizzare l'Estrattore di Tabelle tramite esempi.

Quando si seleziona questo pulsante, viene visualizzata la pagina Extract Table Using Examples (Estrai tabella usando esempi ). In questa pagina si specificano i valori di output di esempio per i dati da estrarre dal file text/CSV. Dopo aver immesso la prima cella della colonna, vengono compilate altre celle della colonna. Affinché i dati vengano estratti correttamente, potrebbe essere necessario immettere più di una cella nella colonna. Se alcune celle della colonna non sono corrette, è possibile correggere la prima cella errata e i dati vengono estratti di nuovo. Per assicurarsi che i dati siano stati estratti correttamente, controllare i dati nelle prime le celle.

Annotazioni

È consigliabile immettere gli esempi in ordine di colonna. Dopo aver compilato correttamente la colonna, creare una nuova colonna e iniziare a immettere esempi nella nuova colonna.

Specificare i valori di output di esempio per estrarre i dati.

Dopo aver completato la costruzione di tale tabella, è possibile selezionare questa opzione per caricare o trasformare i dati. Si noti che le query risultanti contengono una suddivisione dettagliata di tutti i passaggi dedotti per l'estrazione dei dati. Questi passaggi sono passaggi di query regolari che è possibile personalizzare in base alle esigenze.

Suddivisione dettagliata dei passaggi per l'estrazione dei dati.

Risoluzione dei problemi

Caricamento di file dal Web

Se stai richiedendo file di testo/csv dal Web e aggiungi anche le intestazioni, e stai recuperando un numero sufficiente di file da doverti preoccupare della potenziale strozzatura, dovresti considerare di usare il wrapping della chiamata Web.Contents con Binary.Buffer(). In questo caso, il buffering del file prima di elaborare le intestazioni fa sì che il file venga richiesto solo una volta.

Uso di file CSV di grandi dimensioni

Se si riguardano file CSV di grandi dimensioni nell'editor di Power Query Online, è possibile che venga visualizzato un errore interno. È consigliabile usare prima un file CSV di dimensioni ridotte, applicare i passaggi nell'editor e, al termine, modificare il percorso del file CSV più grande. Questo metodo consente di lavorare in modo più efficiente e riduce le probabilità di incontrare un timeout nell'editor online. Non è previsto che si verifichi questo errore durante l'aggiornamento, perché è consentito un timeout più lungo.

Testo non strutturato interpretato come strutturato

In rari casi, un documento con numeri di virgole simili tra i paragrafi potrebbe essere interpretato come csv. Se si presenta questo problema, modificare il passaggio Origine nell'editor di Power Query e, nell'elenco a discesa Apri file come, selezionare Testo invece di CSV.

Colonne in Power BI Desktop

Quando si importa un file CSV, Power BI Desktop genera un valore columns=x (dove x è il numero di colonne nel file CSV durante l'importazione iniziale) come passaggio nell'editor di Power Query. Se in un secondo momento si aggiungono altre colonne e l'origine dati viene impostata per l'aggiornamento, le colonne che superano il numero x iniziale di colonne non vengono aggiornate.

Errore: Connessione chiusa dall'host

Quando si caricano file di testo/CSV da una sorgente web e si promuovono le intestazioni, talvolta si verificano gli errori seguenti: "An existing connection was forcibly closed by the remote host" o "Received an unexpected EOF or 0 bytes from the transport stream." L'host potrebbe causare questi errori adottando misure protettive e chiudendo una connessione che può essere temporaneamente sospesa, ad esempio quando si attende un'altra connessione all'origine dati per un'operazione di join o di appending. Per risolvere questi errori, provare ad aggiungere una chiamata Binary.Buffer (scelta consigliata) o Table.Buffer , che scarica il file, lo carica in memoria e chiude immediatamente la connessione. Questa azione dovrebbe impedire qualsiasi pausa durante il download e impedire che l'host chiuda forzatamente la connessione prima che il contenuto venga scaricato.

Nell'esempio seguente viene illustrata questa soluzione alternativa. Questo buffering deve essere eseguito prima che la tabella risultante venga passata a Table.PromoteHeaders.

  • Originale:
Csv.Document(Web.Contents("https://.../MyFile.csv"))
  • Con Binary.Buffer:
Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))
  • Con Table.Buffer:
Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))