Importuj dane z PDF do Excela za pomocą Power Query

Zadanie przeniesienia danych z arkusza kalkulacyjnego w pliku PDF do arkusza Microsoft Excel jest zawsze „zabawne”. Zwłaszcza jeśli nie masz drogiego oprogramowania do rozpoznawania, takiego jak FineReader lub coś takiego. Bezpośrednie kopiowanie zwykle nie prowadzi do niczego dobrego, ponieważ. po wklejeniu skopiowanych danych do arkusza najprawdopodobniej „skleją się” w jednej kolumnie. Więc będą musiały być następnie skrupulatnie oddzielone za pomocą narzędzia Tekst według kolumn z zakładki Dane (Dane — tekst do kolumn).

I oczywiście kopiowanie jest możliwe tylko w przypadku tych plików PDF, w których występuje warstwa tekstowa, tj. w przypadku dokumentu, który właśnie został zeskanowany z papieru do PDF, to w zasadzie nie zadziała.

Ale to nie jest takie smutne, naprawdę 🙂

Jeśli masz pakiet Office 2013 lub 2016, to za kilka minut, bez dodatkowych programów, całkiem możliwe jest przesyłanie danych z pliku PDF do programu Microsoft Excel. Pomogą nam w tym Word i Power Query.

Na przykład weźmy ten raport w formacie PDF z mnóstwem tekstu, wzorów i tabel ze strony internetowej Europejskiej Komisji Gospodarczej:

Importuj dane z PDF do Excela za pomocą Power Query

… i spróbuj wyciągnąć z tego w Excelu, powiedz pierwszą tabelę:

Importuj dane z PDF do Excela za pomocą Power Query

Chodźmy!

Krok 1. Otwórz PDF w programie Word

Z jakiegoś powodu niewiele osób wie, ale od 2013 roku Microsoft Word nauczył się otwierać i rozpoznawać pliki PDF (nawet te zeskanowane, czyli bez warstwy tekstowej!). Odbywa się to w całkowicie standardowy sposób: otwórz Word, kliknij Plik – Otwórz (Plik — Otwórz) i określ format PDF na liście rozwijanej w prawym dolnym rogu okna.

Następnie wybierz potrzebny nam plik PDF i kliknij Otwarte (Otwarty). Program Word mówi nam, że uruchomi OCR w tym dokumencie, aby wysłać tekst:

Importuj dane z PDF do Excela za pomocą Power Query

Zgadzamy się i za kilka sekund zobaczymy nasz plik PDF otwarty do edycji już w programie Word:

Importuj dane z PDF do Excela za pomocą Power Query

Oczywiście projekt, style, czcionki, nagłówki i stopki itp. częściowo wylecą z dokumentu, ale nie jest to dla nas ważne – potrzebujemy tylko danych z tabel. W zasadzie na tym etapie kuszące jest, aby po prostu skopiować tabelę z rozpoznanego dokumentu do Worda i po prostu wkleić ją do Excela. Czasami to działa, ale częściej prowadzi do różnego rodzaju zniekształceń danych – na przykład liczby mogą zamienić się w daty lub pozostać tekstem, jak w naszym przypadku, ponieważ. PDF nie używa separatorów:

Importuj dane z PDF do Excela za pomocą Power Query

Więc nie idźmy na skróty, ale sprawmy, aby wszystko było trochę bardziej skomplikowane, ale słuszne.

Krok 2: Zapisz dokument jako stronę internetową

Aby następnie załadować otrzymane dane do Excela (poprzez Power Query), nasz dokument w Wordzie musi być zapisany w formacie strony internetowej – format ten jest w tym przypadku rodzajem wspólnego mianownika między Wordem i Excelem.

Aby to zrobić, przejdź do menu Plik – Zapisz jako (Plik — Zapisz jako) lub naciśnij klawisz F12 na klawiaturze i w otwartym oknie wybierz typ pliku Strona internetowa w jednym pliku (Strona internetowa — pojedynczy plik):

Importuj dane z PDF do Excela za pomocą Power Query

Po zapisaniu powinieneś otrzymać plik z rozszerzeniem mhtml (jeśli widzisz rozszerzenia plików w Eksploratorze).

Etap 3. Przesyłanie pliku do programu Excel za pomocą Power Query

Możesz otworzyć utworzony plik MHTML bezpośrednio w Excelu, ale wtedy otrzymamy po pierwsze od razu całą zawartość PDF wraz z tekstem i garścią niepotrzebnych tabel, a po drugie znowu stracimy dane z powodu niepoprawnych separatory. Dlatego importujemy do programu Excel za pomocą dodatku Power Query. Jest to całkowicie darmowy dodatek, dzięki któremu możesz wgrywać dane do Excela z niemal dowolnego źródła (pliki, foldery, bazy danych, systemy ERP), a następnie w każdy możliwy sposób przekształcać otrzymane dane, nadając im pożądany kształt.

Jeśli masz Excel 2010-2013, możesz pobrać Power Query z oficjalnej strony Microsoft – po instalacji zobaczysz zakładkę Zapytanie o moc. Jeśli masz Excel 2016 lub nowszy, nie musisz niczego pobierać – cała funkcjonalność jest już domyślnie wbudowana w Excel i znajduje się na karcie Dane (Data) w grupie Pobierz i przekonwertuj (Pobierz i przekształć).

Więc idziemy albo do zakładki Dane, lub na karcie Zapytanie o moc i wybierz drużynę Aby uzyskać dane or Utwórz zapytanie – Z pliku – Z XML. Aby widoczne były nie tylko pliki XML, zmień filtry na liście rozwijanej w prawym dolnym rogu okna na Wszystkie pliki (Wszystkie pliki) i określ nasz plik MHTML:

Importuj dane z PDF do Excela za pomocą Power Query

Pamiętaj, że import nie zakończy się pomyślnie, ponieważ. Dodatek Power Query oczekuje od nas kodu XML, ale w rzeczywistości mamy format HTML. Dlatego w następnym oknie, które się pojawi, będziesz musiał kliknąć prawym przyciskiem myszy plik niezrozumiały dla dodatku Power Query i określić jego format:

Importuj dane z PDF do Excela za pomocą Power Query

Następnie plik zostanie poprawnie rozpoznany i zobaczymy listę wszystkich zawartych w nim tabel:

Importuj dane z PDF do Excela za pomocą Power Query

Możesz przeglądać zawartość tabel, klikając lewym przyciskiem myszy na białym tle (nie w słowie Tabela!) komórek w kolumnie Dane.

Po zdefiniowaniu żądanej tabeli kliknij zielone słowo Stół – i „wpadasz” w jego treść:

Importuj dane z PDF do Excela za pomocą Power Query

Pozostaje wykonać kilka prostych kroków, aby „przeczesać” jego zawartość, a mianowicie:

  1. usuń niepotrzebne kolumny (kliknij prawym przyciskiem myszy nagłówek kolumny – Usunąć)
  2. zamień kropki na przecinki (wybierz kolumny, kliknij prawym przyciskiem – Wymiana wartości)
  3. usuń znaki równości w nagłówku (wybierz kolumny, kliknij prawym przyciskiem – Wymiana wartości)
  4. usuń górną linię (Strona główna – Usuń linie – Usuń górne linie)
  5. usuń puste linie (Strona główna – Usuń linie – Usuń puste linie)
  6. podnieś pierwszy wiersz do nagłówka tabeli (Strona główna – Użyj pierwszego wiersza jako nagłówków)
  7. odfiltrować niepotrzebne dane za pomocą filtra

Gdy stół zostanie doprowadzony do swojej normalnej postaci, można go wyładować na arkusz za pomocą polecenia zamknij i pobierz (Zamknij i załaduj) on Głównym patka. A dostaniemy takie piękno, z którym już możemy pracować:

Importuj dane z PDF do Excela za pomocą Power Query

  • Przekształcanie kolumny w tabelę za pomocą dodatku Power Query
  • Dzielenie przyklejonego tekstu na kolumny

Dodaj komentarz