Tekst/CSV

Podsumowanie

Przedmiot Opis
Stan wydania Ogólna dostępność
Produkty Excel
Power BI (modele semantyczne)
Power BI (przepływy danych)
Sieć szkieletowa (Dataflow Gen2)
Power Apps (przepływy danych)
Dynamics 365 Customer Insights
Analysis Services
Dokumentacja referencyjna funkcji File.Contents
Lines.FromBinary
Csv.Document

Uwaga / Notatka

Niektóre funkcje mogą być obecne w jednym produkcie, ale nie w innych ze względu na harmonogramy wdrażania i możliwości specyficzne dla hosta.

Obsługiwane funkcje

  • Importowanie

Nawiązywanie połączenia z lokalnym plikiem tekstowym/CSV z programu Power Query Desktop

Aby załadować lokalny tekst lub plik CSV:

  1. Wybierz opcję Tekst/CSV w obszarze Pobierz dane. Ta akcja powoduje uruchomienie lokalnej przeglądarki plików, w której można wybrać plik tekstowy.

    Zrzut ekranu przedstawiający otwarte okno menedżera plików, gdy dokonujesz wyboru pliku tekstowego.

    Wybierz pozycję Open (Otwórz), aby otworzyć plik.

  2. W nawigatorze możesz przekształcić dane w edytorze Power Query, wybierając pozycję Przekształć dane lub załadować dane, wybierając pozycję Załaduj.

    Zrzut ekranu przedstawiający przykładowy tekst w nawigatorze.

Nawiązywanie połączenia z plikiem tekst/CSV z usługi Power Query Online

Aby załadować lokalny tekst lub plik CSV:

  1. Na stronie Źródła danych wybierz pozycję Tekst/CSV.

  2. W ustawieniach połączenia załaduj plik lub podaj ścieżkę do lokalnego pliku tekstowego lub żądanego pliku CSV.

    Zrzut ekranu przedstawiający ekran wyboru pliku tekstowego online.

  3. Wybierz lokalną bramę danych z bramy danych.

  4. Podaj nazwę użytkownika i hasło.

  5. Wybierz Dalej.

  6. W nawigatorze wybierz pozycję Przekształć dane , aby rozpocząć przekształcanie danych w edytorze Power Query.

    Zrzut ekranu przedstawiający okno nawigatora online, w którym wybierasz pozycję Przekształć dane.

Ładowanie z internetu

Aby załadować plik tekstowy lub CSV z Sieci Web, wybierz łącznik sieci Web, wprowadź adres internetowy pliku i postępuj zgodnie z instrukcjami poświadczeń.

Ograniczniki tekstowe/CSV

Power Query traktuje pliki CSV jako pliki ustrukturyzowane, w których separatorem jest przecinek — szczególny przypadek pliku tekstowego. Jeśli wybierzesz plik tekstowy, program Power Query automatycznie podejmie próbę określenia, czy ma rozdzielane wartości ogranicznikami i jaki jest ten ogranicznik. Jeśli może on wywnioskować ogranicznik, automatycznie traktuje go jako ustrukturyzowane źródło danych.

Tekst bez struktury

Jeśli plik tekstowy nie ma struktury, uzyskasz jedną kolumnę z nowym wierszem dla każdego wiersza zakodowanego w tekście źródłowym. Jako przykładowy tekst bez struktury należy wziąć pod uwagę plik Notatnika z następującą zawartością:

Hello world.
This is sample data.

Gdy go załadujesz, pojawi się ekran nawigacyjny, który wczytuje każdy z tych wierszy do oddzielnego wiersza.

Zrzut ekranu przedstawiający nawigator z załadowanymi danymi z prostego pliku tekstowego bez struktury.

W tym oknie dialogowym można skonfigurować tylko jedną opcję, która jest wybrana z listy rozwijanej Źródło pliku . Ta lista rozwijana umożliwia wybranie zestawu znaków użytego do wygenerowania pliku. Obecnie zestaw znaków nie jest wykrywany, a UTF-8 jest wykrywany tylko wtedy, gdy tekst zaczyna się od znacznika UTF-8 BOM.

Zrzut ekranu przedstawiający wybór kultury pliku dla pliku Text/CSV.

CSV

Przykładowy plik CSV można znaleźć tutaj.

Oprócz źródła plików plik CSV obsługuje również określanie ogranicznika i sposobu obsługi wykrywania typów danych.

Zrzut ekranu przedstawiający nawigator przedstawiający załadowane dane z pliku CSV.

Ograniczniki obejmują dwukropek, przecinek, znak równości, średnik, spację, tabulator, ogranicznik niestandardowy (który może być dowolnym ciągiem) i stałą szerokość (dzielenie tekstu według standardowej liczby znaków).

Zrzut ekranu przedstawiający wybór ogranicznika dla pliku CSV.

Ostatnia lista rozwijana umożliwia wybranie sposobu obsługi wykrywania typów danych. Można go opierać na pierwszych 200 wierszach lub w całym zestawie danych. Możesz również wyłączyć automatyczne wykrywanie typów danych, a zamiast tego zezwolić wszystkim kolumnom na wartość domyślną "Text". Ostrzeżenie: jeśli wybierzesz cały zestaw danych, może to spowodować, że początkowe obciążenie danych w edytorze będzie wolniejsze.

Zrzut ekranu przedstawiający wybór typu danych dla pliku CSV.

Ponieważ wnioskowanie może być nieprawidłowe, sprawdź dokładnie ustawienia przed załadowaniem.

Tekst ustrukturyzowany

Gdy Power Query wykrywa strukturę w pliku tekstowym, traktuje plik tekstowy jako plik wartości rozdzielanej ogranicznikiem. Zapewnia ona te same opcje dostępne podczas otwierania pliku CSV. Wolumin CSV jest zasadniczo plikiem z rozszerzeniem wskazującym typ ogranicznika.

Jeśli na przykład zapiszesz następujący przykład jako plik tekstowy, Power Query odczytuje go jako ogranicznik tabulacji, a nie tekst bez struktury.

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

Zrzut ekranu przedstawiający załadowane dane z pliku tekstowego ze strukturą.

Można użyć tej struktury dla dowolnego rodzaju innego pliku opartego na ogranicznikach.

Edytowanie źródła

Podczas edytowania kroku źródłowego (w okienku Zastosowane kroki w programie Power Query Desktop) zostanie wyświetlone nieco inne okno dialogowe niż podczas początkowego ładowania pliku. W zależności od sposobu, w jaki plik jest obecnie traktowany (jako tekst lub CSV), zostanie wyświetlony ekran z różnymi listami rozwijanymi.

Zrzut ekranu przedstawiający okno dialogowe, w którym edytowany jest krok źródłowy zapytania uzyskiwania dostępu do pliku CSV.

Użyj listy rozwijanej Podziały wierszy , aby wybrać, czy chcesz zastosować podziały wierszy, które znajdują się wewnątrz cudzysłowów, czy nie.

Zrzut ekranu przedstawiający listę rozwijaną, na której wybierasz styl podziału wiersza dla pliku CSV.

Jeśli na przykład edytujesz wcześniej podany przykład "ustrukturyzowany", możesz dodać podział wiersza.

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

Jeśli ustawisz Podziały linii na Ignoruj podziały linii w cudzysłowach, próbka zostanie wczytana tak, że druga połowa ciągu znajdzie się pod pierwszą połową w tej samej kolumnie.

Ładowanie pliku CSV z cytowanymi podziałami wierszy jest ignorowane.

Jeśli ustawisz podziały wierszy na Zastosuj wszystkie podziały wierszy, przykład ładuje dodatkowy wiersz, a zawartość po podziałach wierszy będzie jedyną zawartością w tym wierszu (dokładne dane wyjściowe mogą zależeć od struktury zawartości pliku).

Ładowanie pliku CSV z podziałami wierszy zawartymi w cudzysłowach.

Użyj listy rozwijanej Otwórz plik jako , aby edytować, co chcesz załadować jako plik. To ustawienie jest ważne w przypadku rozwiązywania problemów. W przypadku plików strukturalnych, które technicznie nie są plikami CSV (na przykład pliku z wartościami rozdzielanymi tabulatorami zapisanego jako plik tekstowy), pozostaw opcję Otwórz plik jako ustawioną na CSV. To ustawienie określa również, które listy rozwijane są dostępne w pozostałej części okna dialogowego.

Zmiana typu pliku.

Tekst/CSV według przykładu

Tekst/CSV według przykładu w Power Query to funkcja ogólnie dostępna w programie Power BI Desktop i Power Query Online. Gdy używasz łącznika Text/CSV, zobaczysz opcję Wyodrębnij tabelę przy użyciu przykładów w lewym dolnym rogu nawigatora.

Za pomocą opcji Wyodrębnij tabelę przy użyciu przykładów.

Po wybraniu tego przycisku zostanie wyświetlona strona Wyodrębnij tabelę przy użyciu przykładów . Na tej stronie określisz przykładowe wartości wyjściowe dla danych, które mają być wyodrębnione z pliku tekstowego/CSV. Po wprowadzeniu pierwszej komórki kolumny pozostałe komórki w kolumnie zostaną wypełnione. Aby dane zostały wyodrębnione poprawnie, może być konieczne wprowadzenie więcej niż jednej komórki w kolumnie. Jeśli niektóre komórki w kolumnie są nieprawidłowe, możesz naprawić pierwszą nieprawidłową komórkę, a dane zostaną wyodrębnione ponownie. Aby upewnić się, że dane zostały wyodrębnione pomyślnie, sprawdź dane znajdujące się w kilku pierwszych komórkach.

Uwaga / Notatka

Wprowadź przykłady w kolejności kolumn. Po pomyślnym wypełnieniu kolumny utwórz nową kolumnę i zacznij wprowadzać przykłady w nowej kolumnie.

Określ przykładowe wartości wyjściowe, aby wyodrębnić dane.

Po zakończeniu tworzenia tej tabeli możesz wybrać opcję załadowania lub przekształcenia danych. Zwróć uwagę, że wynikowe zapytania zawierają szczegółowy podział wszystkich kroków, które zostały wywnioskowane na potrzeby wyodrębniania danych. Te kroki to regularne kroki zapytania, które można dostosować zgodnie z potrzebami.

Szczegółowy podział kroków wyodrębniania danych.

Rozwiązywanie problemów

Ładowanie plików z Internetu

Jeśli pobierasz z sieci pliki text/csv i podnosisz również nagłówki, a skala pobierania jest na tyle duża, że musisz brać pod uwagę możliwość dławienia, rozważ opakowanie wywołania Web.Contents w Binary.Buffer(). W takim przypadku buforowanie pliku przed przeniesieniem nagłówków wyżej sprawia, że plik jest żądany tylko raz.

Praca z dużymi plikami CSV

Jeśli masz do czynienia z dużymi plikami CSV w edytorze Power Query Online, może zostać wyświetlony błąd wewnętrzny. Najpierw pracuj z plikiem CSV o mniejszym rozmiarze, zastosuj kroki w edytorze, a po zakończeniu zmień ścieżkę na większy plik CSV. Ta metoda pozwala wydajniej pracować i zmniejsza szanse na przekroczenie limitu czasu w edytorze online. Nie należy się spodziewać wystąpienia tego błędu podczas odświeżania, ponieważ usługa dopuszcza dłuższy limit czasu.

Tekst bez struktury jest interpretowany jako ustrukturyzowany

W rzadkich przypadkach Power Query interpretuje dokument jako plik CSV, gdy podobne liczby przecinków pojawiają się w akapitach. Jeśli ten problem wystąpi, zmodyfikuj krok Źródło w edytorze Power Query, a następnie wybierz pozycję Tekst zamiast pliku CSV z listy rozwijanej Otwórz plik jako.

Kolumny w programie Power BI Desktop

Podczas importowania pliku CSV aplikacja Power BI Desktop generuje krok columns=x w edytorze Power Query, gdzie x oznacza liczbę kolumn w pliku CSV w momencie początkowego importu. Jeśli później dodasz więcej kolumn i ustawisz źródło danych do odświeżenia, operacja odświeżania nie będzie zawierać żadnych kolumn poza początkową liczbę x kolumn.

Błąd: Połączenie zamknięte przez hosta

Podczas ładowania plików Text/CSV ze źródła internetowego i promowania nagłówków mogą czasami wystąpić następujące błędy: "An existing connection was forcibly closed by the remote host" lub "Received an unexpected EOF or 0 bytes from the transport stream." Host może powodować te błędy, stosując środki ochronne i zamykając połączenie, które może zostać tymczasowo wstrzymane, na przykład podczas oczekiwania na inne połączenie ze źródłem danych na potrzeby operacji łączenia lub dołączania. Aby obejść te błędy, spróbuj dodać wywołanie Binary.Buffer (zalecane) lub Table.Buffer . Te funkcje pobierają plik, ładują go do pamięci i natychmiast zamykają połączenie. Ta akcja uniemożliwia wstrzymanie podczas pobierania i uniemożliwia hostowi wymuszone zamknięcie połączenia przed pobraniem zawartości.

Poniższy przykład ilustruje to obejście. Przed przekazaniem wynikowej tabeli do tabeli Table.PromoteHeaders należy wykonać buforowanie.

  • Oryginalny kod:
Csv.Document(Web.Contents("https://.../MyFile.csv"))
  • Za pomocą Binary.Buffer:
Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))
  • Za pomocą Table.Buffer:
Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))