Del via


Tekst/CSV

Oversigt

Vare Beskrivelse
Udgivelsestilstand Generel tilgængelighed
Produkter Excel
Power BI (semantiske modeller)
Power BI (dataflow)
Struktur (Dataflow Gen2)
Power Apps (dataflow)
Dynamics 365 Customer Insights
Analysis Services
Dokumentation til funktionsreference File.Contents
Lines.FromBinary
Csv.Document

Notat

Nogle funktioner kan være til stede i ét produkt, men ikke andre på grund af installationsplaner og værtsspecifikke egenskaber.

Understøttede egenskaber

  • Importér

Opret forbindelse til lokal tekst/CSV-fil fra Power Query Desktop

Sådan indlæser du en lokal tekst- eller CSV-fil:

  1. Vælg indstillingen Tekst/CSV i Hent data. Denne handling starter en lokal filbrowser, hvor du kan vælge din tekstfil.

    Skærmbillede af den åbne filbrowser, hvor du vælger tekstfilen.

    Vælg Åbn for at åbne filen.

  2. I Navigator kan du enten transformere dataene i Power Query-editoren ved at vælge Transformér data eller indlæse dataene ved at vælge Indlæs.

    Skærmbillede af eksempelteksten i Navigator.

Opret forbindelse til tekst/CSV-fil fra Power Query Online

Sådan indlæser du en lokal tekst- eller CSV-fil:

  1. Vælg Tekst/CSV på siden Datakilder.

  2. Under Forbindelsesindstillinger skal du enten overføre filen eller angive en filsti til den lokale tekst eller CSV-fil, du vil bruge.

    Skærmbillede af skærmen til valg af onlinetekstfil.

  3. Vælg en datagateway i det lokale miljø fra Datagateway.

  4. Angiv et brugernavn og en adgangskode.

  5. Vælg Næste.

  6. Vælg Transformér data i Navigator for at begynde at transformere dataene i Power Query-editoren.

    Skærmbillede af vinduet onlinenavigator, hvor du vælger Transformér data.

Indlæs fra internettet

Hvis du vil indlæse en tekst- eller CSV-fil fra internettet, skal du vælge webconnectoren, angive filens webadresse og følge eventuelle legitimationsoplysninger.

Tekst/CSV-afgrænsere

Power Query behandler CSV'er som strukturerede filer med et komma som en afgrænser – et særligt tilfælde af en tekstfil. Hvis du vælger en tekstfil, forsøger Power Query automatisk at bestemme, om den har afgrænserseparerede værdier, og hvad afgrænseren er. Hvis den kan udskyde en afgrænser, behandles den automatisk som en struktureret datakilde.

Ustruktureret tekst

Hvis tekstfilen ikke har struktur, får du en enkelt kolonne med en ny række pr. linje kodet i kildeteksten. Som et eksempel på ustruktureret tekst kan du overveje en notesblokfil med følgende indhold:

Hello world.
This is sample data.

Når du indlæser den, får du vist en navigationsskærm, der indlæser hver af disse linjer i deres egen række.

Skærmbillede af navigatoren med indlæste data fra en simpel ustruktureret tekstfil.

Der er kun én ting, du kan konfigurere i denne dialogboks, nemlig rullelisten Filoprindelse . På denne rulleliste kan du vælge , hvilket tegnsæt der blev brugt til at generere filen. I øjeblikket udledes tegnsæt ikke, og UTF-8 udledes kun, hvis det starter med en UTF-8-stykliste.

Skærmbillede af valg af filkultur for Tekst/CSV.

CSV

Du kan finde et eksempel på en CSV-fil her.

Ud over filoprindelse understøtter CSV også angivelse af afgrænseren, og hvordan registrering af datatyper håndteres.

Skærmbillede af navigatoren, der viser indlæste data fra en csv-fil.

Tilgængelige afgrænsere omfatter kolon, komma, lighedstegn, semikolon, mellemrum, tabulator, en brugerdefineret afgrænser (som kan være en hvilken som helst streng) og en fast bredde (opdeling af tekst efter et standardantal tegn).

Skærmbillede af afgrænservalget for en csv-fil.

Den endelige rulleliste giver dig mulighed for at vælge, hvordan du vil håndtere registrering af datatyper. Det kan gøres på baggrund af de første 200 rækker eller på hele datasættet. Du kan også vælge ikke at foretage automatisk registrering af datatyper og i stedet lade alle kolonner som standard være 'Tekst'. Advarsel! Hvis du gør det på hele datasættet, kan det medføre, at den indledende indlæsning af dataene i editoren bliver langsommere.

Skærmbillede af valget af datatypeafslutning for en csv-fil.

Da inferens kan være forkert, er det værd at dobbelttjekke indstillingerne før indlæsning.

Struktureret tekst

Når Power Query kan registrere struktur i din tekstfil, behandles tekstfilen som en afgrænsersepareret værdifil, og du får de samme muligheder, når du åbner en CSV– hvilket i bund og grund er en fil med et filtypenavn, der angiver afgrænsertypen.

Hvis du f.eks. gemmer følgende eksempel som en tekstfil, læses det som at have en tabulatorafgrænser i stedet for ustruktureret tekst.

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

Skærmbillede, der viser de indlæste data fra en struktureret tekstfil.

Denne struktur kan bruges til alle typer andre afgrænserbaserede filer.

Redigerer kilde

Når du redigerer kildetrinnet (i ruden Anvendte trin i Power Query Desktop), får du vist en lidt anden dialogboks, end når du indlæser den første gang. Afhængigt af hvad du i øjeblikket behandler filen som (dvs. tekst eller csv), får du vist en skærm med forskellige rullemenuer.

Skærmbillede af dialogboksen, hvor du redigerer kildetrinnet i en forespørgsel, der får adgang til en CSV-fil.

På rullelisten Linjeskift kan du vælge, om du vil anvende linjeskift i anførselstegn eller ej.

Skærmbillede af rullelisten, hvor du vælger linjeskiftstypografien for en CSV-fil.

Hvis du f.eks. redigerer eksemplet 'struktureret' tidligere, kan du tilføje et linjeskift.

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

Hvis Linjeskift er angivet til Ignorer linjeskift i anførselstegn, indlæses dette eksempel med anden halvdel af strengen under den første halvdel i den samme kolonne.

Indlæsning af en CSV-fil med linjeskift i anførselstegn ignoreres.

Hvis Linjeskift er angivet til Anvend alle linjeskift, indlæser dette eksempel en ekstra række, hvor indholdet efter linjeskift er det eneste indhold i den pågældende række (nøjagtigt output kan afhænge af strukturen i filindholdet).

Indlæsning af en CSV-fil med linjeskift i anførselstegn anvendt.

På rullelisten Åbn fil som kan du redigere det, du vil indlæse filen som – vigtigt for fejlfinding. I forbindelse med strukturerede filer, der teknisk set ikke er CSV'er (f.eks. en fanesepareret værdifil, der er gemt som en tekstfil), skal du stadig have Open-filen som angivet til CSV. Denne indstilling bestemmer også, hvilke rullemenuer der er tilgængelige i resten af dialogboksen.

Ændrer filtypen.

Tekst/CSV efter eksempel

Tekst/CSV efter eksempel i Power Query er en offentlig tilgængelig funktion i Power BI Desktop og Power Query Online. Når du bruger Text/CSV-connectoren, kan du se en mulighed for at udtrække tabel ved hjælp af eksempler i nederste venstre hjørne af navigatoren.

Brug indstillingen Udtræk tabel ved hjælp af eksempler.

Når du vælger denne knap, føres du ind på siden Udtræk tabel ved hjælp af eksempler . På denne side skal du angive eksempeloutputværdier for de data, du vil udtrække fra din Tekst/CSV-fil. Når du har indtastet den første celle i kolonnen, udfyldes andre celler i kolonnen. Hvis dataene skal udtrækkes korrekt, skal du muligvis angive mere end én celle i kolonnen. Hvis nogle celler i kolonnen er forkerte, kan du rette den første forkerte celle, og dataene udtrækkes igen. Hvis du vil sikre dig, at dataene blev udtrukket, skal du kontrollere dataene i de første par celler.

Notat

Vi anbefaler, at du angiver eksemplerne i kolonnerækkefølgen. Når kolonnen er udfyldt, skal du oprette en ny kolonne og begynde at angive eksempler i den nye kolonne.

Angiv eksempeloutputværdier for at udtrække data.

Når du er færdig med at oprette tabellen, kan du enten vælge at indlæse eller transformere dataene. Bemærk, hvordan de resulterende forespørgsler indeholder en detaljeret opdeling af alle de trin, der blev udledt til dataudtrækningen. Disse trin er almindelige forespørgselstrin, som du kan tilpasse efter behov.

Detaljeret opdeling af trin til udtrækning af data.

Fejlfinding

Indlæser filer fra internettet

Hvis du anmoder om tekst-/csv-filer fra internettet og også hæver overskrifter, og du henter nok filer, som du skal bekymre dig om med potentiel begrænsning, bør du overveje at ombryde dit Web.Contents opkald med Binary.Buffer(). I dette tilfælde medfører bufferlagring af filen, før headere fremhæves, at der kun anmodes om filen én gang.

Arbejde med store CSV-filer

Hvis du har at gøre med store CSV-filer i Power Query Online-editoren, får du muligvis vist en intern fejl. Vi anbefaler, at du arbejder med en mindre CSV-fil først, anvender trinnene i editoren, og når du er færdig, skal du ændre stien til den større CSV-fil. Med denne metode kan du arbejde mere effektivt og reducere dine chancer for at støde på timeout i onlineeditoren. Vi forventer ikke, at du støder på denne fejl under opdateringstiden, da vi tillader en længere timeoutvarighed.

Ustruktureret tekst fortolkes som struktureret

I sjældne tilfælde kan et dokument, der har lignende kommanumre på tværs af afsnit, fortolkes som en CSV. Hvis dette problem opstår, skal du redigere kildetrinnet i Power Query-editoren og vælge Tekst i stedet for CSV på rullelisten Åbn fil som.

Kolonner i Power BI Desktop

Når du importerer en CSV-fil, genererer Power BI Desktop en columns=x (hvor x er antallet af kolonner i CSV-filen under den indledende import) som et trin i Power Query-editoren. Hvis du senere tilføjer flere kolonner, og datakilden er indstillet til at blive opdateret, opdateres kolonner ud over det indledende antal x ikke.

Fejl: Forbindelsen blev lukket af værten

Når du indlæser Tekst/CSV-filer fra en webkilde og også hæver overskrifter, kan du nogle gange støde på følgende fejl: "An existing connection was forcibly closed by the remote host" Eller "Received an unexpected EOF or 0 bytes from the transport stream." Værten kan forårsage disse fejl ved at anvende beskyttelsesforanstaltninger og lukke en forbindelse, der kan være midlertidigt afbrudt, f.eks. når du venter på en anden datakildeforbindelse til en join- eller tilføjelseshandling. Du kan løse disse fejl ved at prøve at tilføje et Binary.Buffer-kald (anbefales) eller Table.Buffer , der downloader filen, indlæser den i hukommelsen og lukker forbindelsen med det samme. Denne handling bør forhindre pause under download og forhindre værten i at tvangslukke forbindelsen, før indholdet hentes.

I følgende eksempel illustreres denne løsning. Denne bufferlagring skal udføres, før den resulterende tabel overføres til Table.PromoteHeaders.

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