Hvordan konvertere tabeller fra PDF til Excel eller CSV med Tabula

Pass og konverter pdf til csv og excel

Ser jeg på de historiske dataene som tilbys av et meteorologisk observatorium i byen min, ser jeg det de tilbyr dem bare grafisk og kan lastes ned som PDF. Jeg forstår ikke hvorfor de ikke lar deg laste dem ned i csv, noe som vil være mye mer nyttig for alle.

Så jeg har lett etter en løsning for å sende disse tabellene fra pdf til csv, eller hvis noen vil formatere Excel eller Libre Office. Jeg liker csv fordi du med en csv gjør alt du kan håndtere det med python og dets biblioteker, eller du kan enkelt importere det til et hvilket som helst regneark.

Ettersom ideen er å oppnå en automatisert prosess, er det jeg vil ha et skript for å jobbe med Python, og det er her Tabula kommer inn.

Konverter pdf til csv med Tabula

Fremgangsmåten og betjeningen er veldig enkel. Den første vil være installer Tabula-biblioteket i vårt utviklingsmiljø. Tabula lar oss trekke ut data fra tabeller i PDF til Pandas dataframes, Python-biblioteket optimalisert for å jobbe med csv og arrays.

Tillater også pakke ut og konvertere mellom PDF, JSON, CSV og TSV. En perle. Du kan finne mye mer informasjon i den github repository

Abonner på vår mailingliste

Jeg utnytter alt arbeidet fra tidligere dager og installerer det i Anaconda. I lenken kan du se hvordan installer Anaconda.

Vi installerer Tabula

#primero activamos nuestro entorno de desarrollo en nuestro caso sería conda activate comparador
pip install tabula-py

Da jeg utførte den, ga det meg en feil

løsningen som angitt i dokumentasjonen deres var å avinstallere den gamle versjonen av Tabula og installere den nye.

pip uninstall tabula
pip install tabula-py

Vi oppretter den kjørbare .py

les tabeller fra pdf til csv

Jeg oppretter den kjørbare .py som jeg kaller pdftocsv.py, jeg legger den i nedlastings- / eltiempo-mappen, og det er en fil med følgende kode

import tabula
# Extaer los datos del pdf al DataFrame
df = tabula.read_pdf("inforatge.pdf")
# lo convierte en un csv llamdo out.csv codificado con utf-8
df.to_csv('out.csv', sep='\t', encoding='utf-8')

PDF-en som skal leses heter inforatge.pdf, og jeg forteller den at utdataene heter out.csv og den vil forbli i mappen vi jobber med.

Vi går til katalogen der vi har både kjørbar og pdf som vi vil konvertere. Det er viktig for hvis det vil fortelle oss at det ikke finner filen.

cd Descargas/eltiempo

I denne katalogen har vi PDF, .py-filen som vi har opprettet, og der vil den returnere den csv vi ønsker.

Vi utfører koden

python pdftocsv.py

Legg merke til at jeg har brukt python, det vil si at jeg forteller den å kjøre den med python 2 og ikke med python3 som mislykkes. Og det er det hvis den ikke returnerer noen feil, vi har den allerede.

kjøre Tabula i vårt utviklingsmiljø i Anaconda

Vi har lagt til 3 flere linjer i filen for kjøretidskontroll. på slutten har vi igjen vår pdftocsv.py-fil som

import tabula
import time

start_time = time.time()

df = tabula.read_pdf("inforatge.pdf")
df.to_csv('out.csv', sep='\t', encoding='utf-8')

print("--- %s seconds ---" % (time.time() - start_time))

Flere alternativer fra Tabula

Flere eksempler på ting vi kan gjøre. Det er mange alternativer, det er best å gå gjennom det offisielle Github-arkivet som jeg har igjen

# Leer PDF remotos y convertirlos en DataFrame
df2 = tabula.read_pdf("https://github.com/tabulapdf/tabula-java/raw/master/src/test/resources/technology/tabula/arabic.pdf")

# Convertir un PDF en CSV
tabula.convert_into("test.pdf", "output.csv", output_format="csv")

Og uten tvil en av de mest nyttige tingene for å konvertere alle PDF-, JSON-filer etc. i en katalog.

tabula.convert_into_by_batch("input_directory", output_format='csv')

Med dette kan vi automatisere oppgaver som ellers ville være lange og kjedelige. Til slutt er dette en av grunnene til at du bruker dette biblioteket.

Konverter pdf til excel online

Hvis det vi ønsker er å bare konvertere en fil, trekke ut dataene fra tabellen fra PDF til Excel, Librecalc eller lignende, er det ikke nødvendig å komplisere det så mye. Det er verktøy tilgjengelig for å gjøre dette, noen å installere og noen for å få jobben gjort online.

Jeg har prøvd disse to elektroniske verktøyene, og de fungerer veldig bra.

Husk at dette ikke er en automatisert jobb, og det er derfor studiet av disse verktøyene ikke har vært uttømmende. Jeg kommenterer dem bare for de som kan være interessert.

Den klassiske metoden

Og vi har alltid den klassiske metoden, den mest slurvete og dyre, men til slutt er det et alternativ hvis det er lite arbeid.

Kopier tabellcellene fra pdf-en og lim dem inn i regnearket vårt.

Legg igjen en kommentar