Tekst/CSV

Oversigt

Vare Beskrivelse
Frigivelse tilstand 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 afgrænser – et specialtilfæ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 din tekstfil ikke har struktur, får du en enkelt kolonne med en ny række for hver linje, der er kodet i kildeteksten. Som eksempel på ustruktureret tekst kan du overveje en Notepad-fil 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.

Du kan kun konfigurere én mulighed i denne dialog, nemlig filoprindelsesmenuen . På denne rulleliste kan du vælge , hvilket tegnsæt der blev brugt til at generere filen. I øjeblikket er tegnsættet ikke udledt, og UTF-8 udledes kun, hvis det starter med en UTF-8 BOM.

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.

Afgrænsere inkluderer kolon, komma, lighedstegn, semikolon, mellemrum, tabulator, en brugerdefineret skillestav (som kan være en hvilken som helst streng) og en fast bredde (opdeling af tekst med et standardantal tegn).

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

Den sidste dropdown lader dig vælge, hvordan du vil håndtere datatypedetektion. Du kan basere det på de første 200 rækker eller på hele datasættet. Du kan også vælge at slå automatisk datatypedetektion fra og i stedet lade alle kolonner som standard være 'Tekst.' Advarsel: hvis du vælger hele datasættet, kan det få den indledende indlæsning af dataene i editoren til at blive langsommere.

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

Da slutningen kan være forkert, dobbelttjek indstillingerne før indlæsning.

Struktureret tekst

Når Power Query opdager struktur i din tekstfil, behandler den tekstfilen som en delimiter-adskilt værdifil. Det giver dig de samme muligheder, som du kan få adgang til, når du åbner en CSV. En CSV er i bund og grund en fil med en filendelse, der angiver skilletype.

For eksempel, hvis du gemmer følgende eksempel som en tekstfil, læser Power Query det som havende en tabulator-afgræ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.

Du kan bruge denne struktur til enhver anden fil baseret på afgrænsere.

Redigerer kilde

Når du redigerer kildetrinnet (i panelet Anvendte trin i Power Query Desktop), ser du en lidt anderledes dialog, end da du først indlæser filen. Afhængigt af hvordan du aktuelt behandler filen (som tekst eller CSV), ser du en skærm med forskellige dropdowns.

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

Brug dropdown-menuen for linjeskift til at vælge, om du vil anvende linjeskift, der er i citationstegn 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 du sætter linjeskift til at ignorere citerede linjeskift, indlæses prøven med den anden halvdel af strengen under den første halvdel i samme kolonne.

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

Hvis du sætter linjeskift til at anvende alle linjeskift, indlæser eksemplaret en ekstra række, hvor indholdet efter linjeskiftene er det eneste indhold i den række (det præcise output kan afhænge af filens struktur).

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

Brug Open-filen som dropdown til at redigere, hvad du vil indlæse filen som. Denne indstilling er vigtig for fejlfinding. For strukturerede filer, der teknisk set ikke er CSV'er (såsom en tabulator-adskilt værdifil gemt som tekstfil), så behold Open-filen sat 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

Indtast eksemplerne i kolonnerækkefølge. 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æsning af filer fra nettet

Hvis du anmoder om tekst-/csv-filer fra nettet og også promoverer headers, og du henter nok filer til, at du skal være opmærksom på mulig throttling, så overvej at afslutte dit Web.Contents opkald med Binary.Buffer(). I dette tilfælde betyder buffering af filen før promoverheadere, at filen kun bliver anmodet om é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. Arbejd først med en mindre CSV-fil, anvend trinene i editoren, og når du er færdig, ændrer du 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. Du forventer ikke at støde på denne fejl under opdateringstiden, da tjenesten tillader en længere timeout-periode.

Ustruktureret tekst fortolkes som struktureret

I sjældne tilfælde fortolker Power Query et dokument som en CSV, når ens kommatal vises på tværs af afsnit. Hvis dette problem opstår, rediger Kilde-trinnet i Power Query-editoren og vælg Tekst i stedet for CSV i Åbn Fil Som-menuen.

Kolonner i Power BI Desktop

Når du importerer en CSV-fil, genererer Power BI Desktop et columns=x-trin i Power Query-editoren, hvor x er antallet af kolonner i CSV-filen under den indledende import. Hvis du senere tilføjer flere kolonner og sætter datakilden til at opdatere, inkluderer opdateringsoperationen ikke nogen kolonner ud over det oprindelige x antal kolonner.

Fejl: Forbindelsen blev lukket af værten

Når du indlæser tekst-/CSV-filer fra en webkilde og promoverheadere, 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 midlertidigt kan være sat på pause, for eksempel når man venter på en anden datakildeforbindelse til en join- eller tilføjelsesoperation. For at omgå disse fejl, prøv at tilføje et Binary.Buffer (anbefalet) eller Table.Buffer-kald . Disse funktioner downloader filen, indlæser den i hukommelsen og lukker straks forbindelsen. Denne handling forhindrer enhver pause under download og forhindrer værten i at lukke forbindelsen med magt, før indholdet er hentet.

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")))