Kako pretvoriti tablice iz PDF-a u Excel ili CSV pomoću Tabule

Prođite i pretvorite pdf u csv i excel

Gledajući povijesne podatke koje nudi meteorološka zvjezdarnica u mom gradu, vidim to nude ih samo grafički i za preuzimanje u PDF-u. Ne razumijem zašto vam ne dopuštaju da ih preuzmete u csv, što bi bilo puno korisnije za sve.

Pa sam ga tražio rješenje za prosljeđivanje ovih tablica iz pdf-a u csv ili ako netko želi formatirati Excel ili Libre Office. Sviđa mi se csv jer s csv-om radite sve što možete s pythonom i njegovim knjižnicama ili ga možete lako uvesti u bilo koju proračunsku tablicu.

Kako je ideja postići automatizirani proces, ono što želim je skripta za rad s Pythonom i tu dolazi Tabula.

Pretvorite pdf u csv pomoću Tabule

Koraci i rad su vrlo jednostavni. Prvi će biti instalirajte knjižnicu Tabula u naše razvojno okruženje. Tabula nam omogućuje izdvajanje podataka iz tablica u PDF-u u okvire podataka Pandas, Python knjižnica optimizirana za rad s csv-om i nizovima.

To također omogućuje izdvojiti i pretvoriti između PDF, JSON, CSV i TSV. Dragulj. U njemu možete pronaći mnogo više informacija github spremište

Pretplatite se na našu mailing listu

Iskoristim sav posao iz prethodnih dana i instaliram ga u Anacondu. Na linku možete vidjeti kako instalirajte Anacondu.

Instaliramo Tabulu

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

Kad sam je izvršavao, donio mi je pogrešku

rješenje kao što je naznačeno u njihovoj dokumentaciji bilo je deinstaliranje stare verzije Tabule i instaliranje nove.

pip uninstall tabula
pip install tabula-py

Izrađujemo izvršnu datoteku .py

čitati tablice iz pdf-a u csv

Stvorim izvršnu datoteku .py koju zovem pdftocsv.py Stavim je u mapu Downloads / eltiempo i to je datoteka sa sljedećim kodom

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 za čitanje zove se inforatge.pdf i kažem mu da se izlaz poziva out.csv i ostat će u mapi u kojoj radimo.

Idemo u direktorij gdje imamo i izvršnu datoteku i pdf koji želimo pretvoriti. Važno je jer ako nam kažete da ne možete pronaći datoteku.

cd Descargas/eltiempo

U ovom direktoriju imamo PDF, .py datoteku koju smo stvorili i tamo će vratiti csv koji želimo.

Izvršavamo kod

python pdftocsv.py

Primijetite da sam koristio python, odnosno rekao sam mu da ga pokreće s pythonom 2, a ne s python3 koji ne uspije. I to je to ako ne vrati grešku, već je imamo.

pokrenite Tabulu u našem razvojnom okruženju Anaconde

U datoteku smo dodali još 3 retka za kontrolu izvođenja. na kraju smo datoteku pdftocsv.py ostavili kao

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))

Više opcija iz Tabule

Još primjera stvari koje možemo učiniti. Postoji mnogo opcija, najbolje je proći službeno spremište Github koje mi je ostalo

# 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")

I bez sumnje jedna od najkorisnijih stvari za pretvaranje svih datoteka PDF, JSON itd. U direktorij.

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

Ovim možemo automatizirati zadatke koji bi inače bili dugotrajni i zamorni. Na kraju je to jedan od razloga za korištenje ove knjižnice.

Pretvorite pdf u excel na mreži

Ako je ono što želimo jednostavno pretvoriti datoteku, izvući podatke iz tablice iz PDF-a u Excel, Librecalc ili slično, nije potrebno toliko komplicirati. Dostupni su alati za to, neki za instalaciju, a neki za posao na mreži.

Isprobao sam ova dva mrežna alata i rade vrlo dobro.

Imajte na umu da ovo nije automatiziran posao, pa stoga proučavanje ovih alata nije bilo iscrpno. Komentiram ih samo za one koji bi mogli biti zainteresirani.

Klasična metoda

I uvijek imamo klasičnu metodu, najneuredniju i najskuplju, ali na kraju je opcija ako ima malo posla.

Kopirajte ćelije tablice iz pdf-a i zalijepite ih u našu proračunsku tablicu.

Ostavi komentar