Tekst/CSV
Samenvatting
Item | Beschrijving |
---|---|
Releasestatus | Algemene beschikbaarheid |
Producten | Excel Power BI (Semantische modellen) Power BI (gegevensstromen) Fabric (Dataflow Gen2) Power Apps (gegevensstromen) Dynamics 365 Customer Insights Analysis Services |
Documentatie voor functiereferenties | File.Contents Lines.FromBinary Csv.Document |
Notitie
Sommige mogelijkheden zijn mogelijk aanwezig in één product, maar niet in andere vanwege implementatieschema's en hostspecifieke mogelijkheden.
Ondersteunde mogelijkheden
- Importeren
Verbinding maken naar een lokaal tekst-/CSV-bestand vanuit Power Query Desktop
Een lokaal tekst- of CSV-bestand laden:
Selecteer de optie Tekst/CSV in Gegevens ophalen. Met deze actie wordt een lokale bestandsbrowser gestart waar u uw tekstbestand kunt selecteren.
Selecteer Openen om het bestand te openen.
In de Navigator kunt u de gegevens in de Power Query-editor transformeren door Transformatiegegevens te selecteren of de gegevens te laden door Laden te selecteren.
Verbinding maken naar tekst-/CSV-bestand vanuit Power Query Online
Een lokaal tekst- of CSV-bestand laden:
Selecteer Tekst/CSV op de pagina Gegevensbronnen.
Voer in Verbinding maken instellingen een bestandspad in naar de lokale tekst of het gewenste CSV-bestand.
Selecteer een on-premises gegevensgateway uit de gegevensgateway.
Geef een gebruikersnaam en wachtwoord op.
Selecteer Volgende.
Selecteer gegevens transformeren in de navigator om de gegevens in de Power Query-editor te transformeren.
Laden vanaf het web
Als u een tekst- of CSV-bestand vanaf internet wilt laden, selecteert u de webconnector, voert u het webadres van het bestand in en volgt u de referentiesprompts.
Tekst-/CSV-scheidingstekens
Power Query behandelt CSV's als gestructureerde bestanden met een komma als scheidingsteken, een speciaal geval van een tekstbestand. Als u een tekstbestand kiest, probeert Power Query automatisch te bepalen of het scheidingsteken gescheiden waarden bevat en wat dat scheidingsteken is. Als het een scheidingsteken kan uitstellen, wordt het automatisch behandeld als een gestructureerde gegevensbron.
Ongestructureerde tekst
Als uw tekstbestand geen structuur heeft, krijgt u één kolom met een nieuwe rij per regel die is gecodeerd in de brontekst. Als voorbeeld voor ongestructureerde tekst kunt u een Kladblok-bestand met de volgende inhoud overwegen:
Hello world.
This is sample data.
Wanneer u deze laadt, krijgt u een navigatiescherm te zien waarmee elk van deze regels in hun eigen rij wordt geladen.
Er is slechts één ding dat u in dit dialoogvenster kunt configureren. Dit is de vervolgkeuzelijst Bestandsoorsprong . In deze vervolgkeuzelijst kunt u selecteren welke tekenset is gebruikt om het bestand te genereren. Op dit moment wordt de tekenset niet afgeleid en wordt UTF-8 alleen afgeleid als deze begint met een UTF-8-bom.
CSV
Hier vindt u een voorbeeld van een CSV-bestand.
Naast bestandsoorsprong biedt CSV ook ondersteuning voor het opgeven van het scheidingsteken en hoe detectie van gegevenstypen wordt verwerkt.
De beschikbare scheidingstekens zijn dubbele punt, komma, gelijkteken, puntkomma, spatie, tabblad, een aangepast scheidingsteken (dat elke tekenreeks kan zijn) en een vaste breedte (tekst splitsen met een standaard aantal tekens).
In de laatste vervolgkeuzelijst kunt u selecteren hoe u de detectie van gegevenstypen wilt verwerken. Dit kan worden gedaan op basis van de eerste 200 rijen, op de hele gegevensset of u kunt ervoor kiezen om geen automatische detectie van gegevenstypen uit te voeren en in plaats daarvan alle kolommen standaard in te stellen op 'Tekst'. Waarschuwing: als u dit doet voor de hele gegevensset, kan de eerste belasting van de gegevens in de editor langzamer zijn.
Aangezien deductie onjuist kan zijn, is het de moeite waard om instellingen te controleren voordat u laadt.
Structured Text
Wanneer Power Query structuur in uw tekstbestand kan detecteren, wordt het tekstbestand behandeld als een bestand met door scheidingstekens gescheiden waarden en krijgt u dezelfde opties wanneer u een CSV opent. Dit is in feite alleen een bestand met een extensie die het type scheidingsteken aangeeft.
Als u bijvoorbeeld het volgende voorbeeld opslaat als tekstbestand, wordt het gelezen als een tabscheidingsteken in plaats van ongestructureerde tekst.
Column 1 Column 2 Column 3
This is a string. 1 ABC123
This is also a string. 2 DEF456
Dit kan worden gebruikt voor elk type ander bestand op basis van scheidingstekens.
Bron bewerken
Wanneer u de bronstap bewerkt, krijgt u een iets ander dialoogvenster te zien dan wanneer u de bronstap in eerste instantie laadt. Afhankelijk van wat u momenteel het bestand behandelt als (dat wil gezegd, tekst of CSV) krijgt u een scherm te zien met een verscheidenheid aan vervolgkeuzelijsten.
In de vervolgkeuzelijst Regeleinden kunt u selecteren of u regeleinden tussen aanhalingstekens wilt toepassen of niet.
Als u bijvoorbeeld het hierboven opgegeven 'gestructureerde' voorbeeld bewerkt, kunt u een regeleinde toevoegen.
Column 1 Column 2 Column 3
This is a string. 1 "ABC
123"
This is also a string. 2 "DEF456"
Als regeleinden zijn ingesteld op Regeleinden tussen aangeroepen regels negeren, wordt deze geladen alsof er geen regeleinde is (met een extra spatie).
Als regeleinden zijn ingesteld op Alle regeleinden toepassen, wordt er een extra rij geladen, waarbij de inhoud na de regeleinden de enige inhoud in die rij is (de exacte uitvoer kan afhankelijk zijn van de structuur van de bestandsinhoud).
Met het vervolgkeuzemenu Openen kunt u bewerken wat u het bestand wilt laden als belangrijk voor het oplossen van problemen. Voor gestructureerde bestanden die technisch geen CSV's zijn (zoals een bestand met door tabs gescheiden waarden dat is opgeslagen als tekstbestand), moet het bestand Openen nog steeds zijn ingesteld op CSV. Deze instelling bepaalt ook welke vervolgkeuzelijsten beschikbaar zijn in de rest van het dialoogvenster.
Tekst/CSV per voorbeeld
Tekst/CSV per voorbeeld in Power Query is een algemeen beschikbare functie in Power BI Desktop en Power Query Online. Wanneer u de connector Tekst/CSV gebruikt, ziet u een optie voor het extraheren van tabellen met behulp van voorbeelden in de linkerbenedenhoek van de navigator.
Wanneer u die knop selecteert, gaat u naar de pagina Tabel extraheren met behulp van voorbeelden . Op deze pagina geeft u voorbeelduitvoerwaarden op voor de gegevens die u wilt extraheren uit uw Tekstbestand/CSV-bestand. Nadat u de eerste cel van de kolom hebt ingevoerd, worden andere cellen in de kolom ingevuld. Als u wilt dat de gegevens correct worden geëxtraheerd, moet u mogelijk meer dan één cel in de kolom invoeren. Als sommige cellen in de kolom onjuist zijn, kunt u de eerste onjuiste cel herstellen en worden de gegevens opnieuw geëxtraheerd. Controleer de gegevens in de eerste paar cellen om ervoor te zorgen dat de gegevens zijn geëxtraheerd.
Notitie
U wordt aangeraden de voorbeelden in kolomvolgorde in te voeren. Zodra de kolom is ingevuld, maakt u een nieuwe kolom en begint u met het invoeren van voorbeelden in de nieuwe kolom.
Zodra u klaar bent met het samenstellen van die tabel, kunt u ervoor kiezen om de gegevens te laden of te transformeren. U ziet hoe de resulterende query's een gedetailleerde uitsplitsing bevatten van alle stappen die zijn afgeleid voor de gegevensextractie. Deze stappen zijn gewoon gewone querystappen die u naar behoefte kunt aanpassen.
Probleemoplossing
Bestanden laden vanaf het web
Als u tekst-/CSV-bestanden aanvraagt van het web en ook headers promoveert en u voldoende bestanden opvraagt die u moet bezighouden met mogelijke beperking, kunt u overwegen om uw Web.Contents
oproep te verpakken met Binary.Buffer()
. In dit geval zorgt het bufferen van het bestand voordat het promoveren van headers ervoor zorgt dat het bestand slechts eenmaal wordt aangevraagd.
Werken met grote CSV-bestanden
Als u te maken hebt met grote CSV-bestanden in de Power Query Online-editor, ontvangt u mogelijk een interne fout. We raden u aan eerst met een csv-bestand met een kleinere grootte te werken, de stappen in de editor toe te passen en zodra u klaar bent, wijzigt u het pad naar het grotere CSV-bestand. Met deze methode kunt u efficiënter werken en vermindert u de kans op een time-out in de online editor. We verwachten niet dat u deze fout tegenkomt tijdens het vernieuwen, omdat we een langere time-outduur toestaan.
Ongestructureerde tekst die wordt geïnterpreteerd als gestructureerd
In zeldzame gevallen kan een document met vergelijkbare kommanummers in alinea's worden geïnterpreteerd als een CSV. Als dit probleem zich voordoet, bewerkt u de bronstap in de Power Query-editor en selecteert u Tekst in plaats van CSV in de vervolgkeuzelijst Bestand als openen.
Kolommen in Power BI Desktop
Wanneer u een CSV-bestand importeert, genereert Power BI Desktop een kolom=x (waarbij x het aantal kolommen in het CSV-bestand is tijdens de eerste import) als een stap in Power Query-editor. Als u vervolgens meer kolommen toevoegt en de gegevensbron is ingesteld op vernieuwen, worden alle kolommen buiten het eerste x-aantal kolommen niet vernieuwd.
Fout: Verbinding maken ion gesloten door host
Wanneer u tekst-/CSV-bestanden laadt vanuit een webbron en ook headers promoveert, kunnen er soms de volgende fouten optreden: "An existing connection was forcibly closed by the remote host"
of "Received an unexpected EOF or 0 bytes from the transport stream."
deze fouten kunnen worden veroorzaakt door de host die beschermende maatregelen gebruikt en een verbinding sluit die tijdelijk kan worden onderbroken, bijvoorbeeld wanneer u wacht op een andere gegevensbronverbinding voor een join- of toevoegbewerking. U kunt deze fouten omzeilen door een Binary.Buffer (aanbevolen) of Table.Buffer-aanroep toe te voegen, waarmee het bestand wordt gedownload, in het geheugen wordt geladen en de verbinding onmiddellijk wordt gesloten. Hiermee voorkomt u pauze tijdens het downloaden en zorgt u ervoor dat de host de verbinding niet geforceerd sluit voordat de inhoud wordt opgehaald.
In het volgende voorbeeld ziet u deze tijdelijke oplossing. Deze buffering moet worden uitgevoerd voordat de resulterende tabel wordt doorgegeven aan Table.PromoteHeaders.
- Oorspronkelijk:
Csv.Document(Web.Contents("https://.../MyFile.csv"))
- Met
Binary.Buffer
:
Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))
- Met
Table.Buffer
:
Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))