Tips & Tricks

Jak konwertować tabele PDF do oddzielnych plików CSV

Plik PDF zawierający kilkanaście tabel danych, z których każda stanowi osobną sekcję raportu, stanowi wyzwanie związane z konwersją. Konwersja całego pliku PDF na pojedynczy plik CSV powoduje powstanie pomieszanego arkusza kalkulacyjnego, w którym nagłówki tabel z sekcji trzeciej pojawiają się w połowie danych z sekcji drugiej. Narzędzia PDF do Excel konwertujące cały dokument na raz nie rozróżniają tabel. Wyodrębnianie każdej tabeli do własnego pliku CSV wymaga bardziej selektywnego podejścia, polegającego na traktowaniu każdej tabeli jako niezależnego źródła danych w ramach większego dokumentu.

Celem jest utworzenie jednego pliku CSV na tabelę, przy czym każdy plik CSV będzie zawierał prawidłowe nagłówki kolumn i wiersze danych z tabeli źródłowej w formacie PDF. Liczba plików wyjściowych odpowiada liczbie odrębnych tabel w dokumencie. Dzięki takiemu podejściu każdy zestaw danych jest czysty i gotowy do zaimportowania do narzędzi analitycznych, baz danych lub oddzielnych zakładek arkusza kalkulacyjnego bez ręcznego przetwarzania końcowego w celu oddzielenia wymieszanych danych tabelarycznych.

Narzędzia WukongPDF Wyodrębnij dane PDF identyfikują struktury tabel w plikach PDF i eksportują je w ustrukturyzowanych formatach. W przypadku dokumentów zawierających wiele niezależnych tabel opisany poniżej proces wyodrębniania pozwala uzyskać czyste dane wyjściowe w formacie CSV dotyczące poszczególnych tabel.

How to Convert PDF Tables to Separate CSV Files

Jak działa wyodrębnianie tabeli PDF

Silniki ekstrakcji tabel analizują położenie przestrzenne znaków tekstowych na każdej stronie pliku PDF. Znaki znajdujące się blisko siebie w poziomie tworzą słowa. Słowa ułożone w poziome rzędy w regularnych odstępach pionowych tworzą rzędy tabeli. Pionowe odstępy pomiędzy kolumnami definiują granice kolumn. Silnik grupuje znaki w komórki, komórki w wiersze, a wiersze w strukturę tabeli, a następnie eksportuje tabelę jako tekst rozdzielany. Dokładność wyodrębniania zależy od tego, jak czysto sformatowano oryginalną tabelę PDF. Tabele z widocznymi liniami siatki, stałą szerokością kolumn i brakiem połączonych komórek wyodrębniają dane z niemal idealną dokładnością.

Scalone komórki, gdy jedna komórka obejmuje wiele kolumn lub wierszy, zakłócają analizę przestrzenną, ponieważ silnik nie może określić, do której kolumny należy scalona komórka. Tabele z cieniowaniem tła zmieniającym się według wierszy mogą spowodować, że silnik błędnie zinterpretuje granice cieniowania jako granice kolumn. Tabele, w których zawartość zawija się w komórkach do wielu wierszy, mogą spowodować, że silnik będzie traktował każdą zawiniętą linię jako oddzielny wiersz. Zanim zdecydujesz się na metodę ekstrakcji, sprawdź wizualnie tabelę PDF pod kątem tych funkcji i odpowiednio ustal oczekiwania.

WukongPDF

Wypróbuj PDF do Excela

Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.

Zacznij teraz →

Metoda 1: Eksportowanie pojedynczych tabel za pomocą programu Adobe Acrobat Pro

Acrobat Pro może wyeksportować plik PDF do programu Excel, a stamtąd możesz podzielić skoroszyt na osobne pliki CSV. Otwórz plik PDF w programie Acrobat Pro, przejdź do opcji Narzędzia, a następnie Eksportuj plik PDF. Wybierz Arkusz kalkulacyjny jako format wyjściowy i wybierz Skoroszyt programu Microsoft Excel. Kliknij Eksportuj. Acrobat przetwarza cały dokument i tworzy plik XLSX. Otwórz plik XLSX w programie Excel. Zawartość każdej strony PDF pojawia się na oddzielnym arkuszu lub w ciągłym zakresie danych, w zależności od układu dokumentu.

Określ, gdzie zaczyna się i kończy każda tabela w wynikach programu Excel. Wybierz zakres danych pierwszej tabeli, w tym wiersz nagłówka, i skopiuj go do nowego skoroszytu programu Excel. Zapisz ten skoroszyt jako plik CSV o opisowej nazwie, na przykład Sales_Q1_2025.csv. Powtórz dla każdej kolejnej tabeli. To ręczne podejście działa niezawodnie w przypadku dokumentów zawierających maksymalnie pięć tabel. W przypadku dokumentów zawierających dziesiątki tabel ręczny proces kopiowania i zapisywania staje się uciążliwy, a jedna z poniższych automatycznych metod jest bardziej praktyczna.

Metoda 2: Narzędzia online z wykrywaniem tabeli

Kilka internetowych konwerterów plików PDF na CSV obejmuje funkcję wykrywania tabel, która identyfikuje poszczególne tabele w dokumencie. Narzędzia te skanują plik PDF, podświetlają wykryte obszary tabeli i oferują eksport każdej wykrytej tabeli jako oddzielny plik CSV lub osobne arkusze w skoroszycie XLSX. Tabula, narzędzie typu open source dostępne zarówno jako aplikacja internetowa, jak i lokalna aplikacja komputerowa, specjalizuje się w tym przepływie pracy. Prześlij plik PDF, narysuj pola wyboru wokół każdej tabeli, którą chcesz wyodrębnić, i kliknij Eksportuj. Tabula generuje jeden plik CSV na wybrany obszar tabeli.

W praktyce jakość ekstrakcji online zależy w dużej mierze od wewnętrznej struktury pliku PDF. Tekstowe pliki PDF, w których zawartość tabeli jest przechowywana w postaci rzeczywistych znaków tekstowych, są wyodrębniane niezawodnie. Zeskanowane pliki PDF, w których tabela jest obrazem tekstu, a nie samym tekstem, wymagają OCR przed wyodrębnieniem. Najpierw uruchom plik PDF za pomocą mechanizmu OCR, jeśli pochodzi ze skanera, a następnie wyodrębnij tabele z wyników wyszukiwania OCR. Krok OCR wprowadza pewne błędy wyodrębniania, szczególnie w przypadku liczb, które mogą zostać błędnie rozpoznane jako podobnie wyglądające znaki.

Metoda 3: Automatyzacja ekstrakcji za pomocą Pythona i Tabuli

W przypadku powtarzających się zadań wyodrębniania lub dokumentów zawierających wiele tabel skrypt Pythona korzystający z biblioteki tabula-py automatyzuje przepływ pracy. Skrypt otwiera plik PDF, wykrywa obszary tabel na każdej stronie, wyodrębnia każdą tabelę do ramki DataFrame pandy i zapisuje każdą ramkę DataFrame jako oddzielny plik CSV. Podstawowy skrypt ekstrakcyjny wymaga około 25 linii kodu.

Biblioteka tabula-py akceptuje parametry strategii wykrywania tabel, takie jak tryb kratowy dla tabel z widocznymi liniami siatki i tryb strumieniowy dla tabel, w których kolumny są oddzielone białymi znakami. Tryb siatki jest dokładniejszy w przypadku dobrze sformatowanych tabel z obramowaniami. Tryb strumieniowy toleruje tabele bez obramowania, ale może źle wyrównać kolumny, jeśli odstępy są niespójne. W przypadku dokumentu zawierającego mieszane style tabel przeprowadź wyodrębnianie dwukrotnie, raz w każdym trybie, i porównaj wyniki, aby określić, który tryb wygenerował czystsze dane dla każdej tabeli.

MetodaNajlepsze dlaOgraniczenia klawiszy
Eksport do programu Adobe Acrobat ProWyczyść tabele, jeden lub dwa pliki PDFWalczy z połączonymi komórkami
Narzędzia online do konwersji plików PDF na CSVSzybka konwersja, bez instalacjiMoże źle obsługiwać tabele wielostronicowe
Python + pandy + deskaPrzetwarzanie wsadowe, złożone tabeleWymaga znajomości skryptów

Obsługa tabel zajmujących wiele stron

Tabela ciągnąca się od strony 3 do strony 4 stanowi szczególne wyzwanie. Silnik ekstrakcji widzi dwie oddzielne tabele, po jednej na każdej stronie, każda z własnym wierszem nagłówka na stronie 3 i ewentualnie powtórzonym nagłówkiem na stronie 4. Po wyodrębnieniu połącz dwa pliki CSV ręcznie lub za pomocą skryptu, dołączając wiersze danych z drugiego pliku poniżej wierszy danych pierwszego pliku, usuwając zduplikowany wiersz nagłówka z drugiego pliku.

Niektóre narzędzia do wyodrębniania obejmują opcję rozpinania stron lub łączenia tabel, która próbuje automatycznie scalić tabele wielostronicowe. Opcja działa, gdy struktura tabeli jest spójna na wszystkich stronach, a każdy podział strony następuje na granicy wierszy. Kiedy podział strony dzieli wiersz na dwie strony, np. wysoki wiersz z zawiniętym tekstem, który zaczyna się na dole strony 3 i kończy na górze strony 4, automatyczne scalanie powoduje utworzenie częściowego wiersza na końcu pierwszego pliku CSV i kolejnego częściowego wiersza na początku drugiego pliku CSV. W przypadku tych przypadków konieczna jest ręczna kontrola i korekta punktu połączenia.

Wyodrębnienie każdej tabeli PDF do własnego pliku CSV tworzy czyste, gotowe do analizy dane, które można zaimportować bezpośrednio do dowolnego arkusza kalkulacyjnego lub narzędzia bazy danych. Wybrana metoda zależy od liczby tabel, które należy wyodrębnić i częstotliwości wykonywania tego zadania. W przypadku sporadycznego użycia na kilku tabelach zadanie to umożliwia eksport do programu Excel w programie Acrobat Pro, a następnie ręczne dzielenie plików CSV. W celu cyklicznego wyodrębniania wsadowego ze standardowych dokumentów podejście Python i Tabula przetwarza setki plików PDF z spójnymi wynikami.

Weryfikacja wyodrębnionych danych CSV pod kątem dokładności

Po wyodrębnieniu każdej tabeli do pliku CSV przeprowadź szybką weryfikację przed zaimportowaniem danych do potoku analizy. Otwórz każdy plik CSV w aplikacji arkusza kalkulacyjnego i porównaj liczbę wierszy z widoczną liczbą wierszy w oryginalnej tabeli PDF. Liczby powinny się zgadzać w obrębie jednego lub dwóch wierszy, uwzględniając możliwe wiersze nagłówka, które znajdują się pomiędzy podziałami strony. Sprawdź na miejscu wartości liczbowe w pliku CSV względem pliku PDF: wybierz pięć losowych komórek zawierających liczby i potwierdź, że wartości są dokładnie zgodne.

Zwróć szczególną uwagę na kolumny zawierające scalone komórki w oryginalnym pliku PDF. Silniki wyodrębniające często duplikują wartość scalonej komórki we wszystkich kolumnach, które obejmowała, lub pozostawiają niektóre kolumny puste. Jeśli Twoja analiza zależy od zachowania struktury połączonych komórek, zastosuj logikę scalania podczas przetwarzania końcowego, zamiast oczekiwać, że silnik ekstrakcji poradzi sobie z nią poprawnie. Krótki skrypt w języku Python, który odczytuje plik CSV i łączy kolumny z powrotem do ich oryginalnej struktury w oparciu o wstępnie zdefiniowane mapowanie, daje bardziej wiarygodne wyniki niż poleganie na wykrywaniu scalania przez silnik ekstrakcji.

Kiedy zamiast tego korzystać z usługi ekstrakcji API

W przypadku ekstrakcji tabel PDF na dużą skalę usługi oparte na interfejsie API oferują większą dokładność niż lokalne narzędzia do skomplikowanych układów. Amazon Texttract, Google Document AI i Microsoft Form Recognizer wykorzystują modele uczenia maszynowego przeszkolone na milionach formatów tabel i obsługują scalone komórki, wielowierszową zawartość komórek i tabele bez obramowania bardziej niezawodnie niż silniki oparte na regułach. Koszt jest podawany w przeliczeniu na stronę, ekonomiczny w przypadku okazjonalnych ekstrakcji o dużej wartości, ale potencjalnie kosztowny w przypadku codziennego przetwarzania wsadowego tysięcy stron.

Ekstrakcja API przechwytuje kontekst tabeli, którego brakuje podstawowym narzędziom. Nagłówki kolumn są powiązane z komórkami danych, nawet jeśli nagłówki obejmują wiele kolumn. Identyfikowane są hierarchiczne nagłówki typu rodzic-dziecko. Dane wyjściowe mają strukturę JSON, a nie płaski plik CSV, co pozwala zachować semantykę tabeli na potrzeby dalszego przetwarzania. W przypadku danych o znaczeniu krytycznym dla firmy, których dokładność wpływa na wyniki finansowe lub prawne, koszt interfejsu API na stronę stanowi ułamek kosztu ręcznego poprawiania błędów ekstrakcji.

WukongPDF

Wypróbuj PDF do Excela

Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.

Zacznij teraz →