Kā konvertēt tabulas no PDF uz Excel vai CSV, izmantojot Tabula

Pārejiet un konvertējiet pdf uz csv un Excel

Apskatot vēsturiskos datus, ko piedāvā meteoroloģiskā observatorija manā pilsētā, es to redzu viņi tos piedāvā tikai grafiski un lejupielādei kā PDF. Es nesaprotu, kāpēc viņi neļauj jums tos lejupielādēt csv formātā, kas būtu daudz noderīgāks visiem.

Tāpēc es to meklēju risinājums šo tabulu pārsūtīšanai no pdf uz csv vai ja kāds vēlas formatēt Excel vai Libre Office. Man patīk csv, jo ar csv jūs darāt visu, ko varat izmantot, izmantojot Python un tā bibliotēkas, vai arī varat to viegli importēt jebkurā izklājlapā.

Tā kā ideja ir panākt automatizētu procesu, es vēlos skriptu darbam ar Python, un šeit ienāk Tabula.

Konvertējiet pdf uz csv, izmantojot Tabula

Darbības un darbība ir ļoti vienkārša. Pirmais būs instalējiet Tabula bibliotēku mūsu attīstības vidē. Tabula ļauj mums iegūt datus no tabulām PDF formātā Pandas datu ietvaros - Python bibliotēkā, kas ir optimizēta darbam ar csv un masīviem.

Tas arī ļauj iegūt un konvertēt starp PDF, JSON, CSV un TSV. Pērle. Tajā varat atrast daudz vairāk informācijas github krātuve

Abonējiet mūsu adresātu sarakstu

Es izmantoju visu iepriekšējo dienu darbu priekšrocības un instalēju tos Anaconda. Saitē jūs varat redzēt, kā instalējiet Anaconda.

Mēs instalējam Tabula

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

Izpildot to, man radās kļūda

viņu dokumentācijā norādītais risinājums bija atinstalēt veco Tabula versiju un instalēt jauno.

pip uninstall tabula
pip install tabula-py

Mēs izveidojam izpildāmo .py

lasīt tabulas no pdf līdz csv

Es izveidoju izpildāmo .py, ko saucu par pdftocsv.py, ievietoju mapē Downloads / eltiempo, un tas ir fails ar šādu kodu

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

Lasāmo pdf failu sauc par inforatge.pdf, un es saku, ka izeja tiek izsaukta out.csv, un tā paliks mapē, kurā mēs strādājam.

Mēs ejam uz direktoriju, kur mums ir gan izpildāmais fails, gan pdf, kuru mēs vēlamies pārveidot. Tas ir svarīgi, jo, ja tas mums paziņos, ka nevar atrast failu.

cd Descargas/eltiempo

Šajā direktorijā mums ir PDF fails, mūsu izveidotais .py fails, un tas atgriezīs vēlamo csv.

Mēs izpildām kodu

python pdftocsv.py

Ievērojiet, ka esmu izmantojis pitonu, tas ir, es saku, lai to palaistu ar python 2, nevis ar python3, kas neizdodas. Un tas ir tas, ja tas neatgriež nevienu kļūdu, mums tā jau ir.

palaidiet Tabula mūsu Anaconda izstrādes vidē

Mēs esam pievienojuši failam vēl 3 rindas izpildlaika kontrolei. beigās mēs esam atstājuši mūsu pdftocsv.py failu kā

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

Citas iespējas no Tabula

Vairāk piemēru, ko mēs varam darīt. Ir daudz iespēju, vislabāk ir iet caur oficiālo Github krātuvi, kuru esmu atstājis

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

Un, bez šaubām, viena no visnoderīgākajām lietām, lai visus PDF, JSON utt. Failus konvertētu direktorijā.

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

Tādējādi mēs varam automatizēt uzdevumus, kas citādi būtu ilgi un garlaicīgi. Galu galā tas ir viens no šīs bibliotēkas izmantošanas iemesliem.

Konvertēt pdf uz Excel tiešsaistē

Ja mēs vēlamies vienkārši konvertēt failu, iegūt datus no tabulas no PDF uz Excel, Librecalc vai tamlīdzīgi, tas nav tik sarežģīti. Lai to izdarītu, ir pieejami rīki, daži instalējami un citi, lai veiktu darbu tiešsaistē.

Esmu izmēģinājis šos divus tiešsaistes rīkus, un tie darbojas ļoti labi.

Paturiet prātā, ka tas nav automatizēts darbs, un tāpēc šo rīku izpēte nav bijusi pilnīga. Es tos komentēju tikai tiem, kas varētu interesēt.

Klasiskā metode

Un mums vienmēr ir klasiskā metode, visnopietnākā un dārgākā, bet galu galā tā ir iespēja, ja ir maz darba.

Kopējiet tabulas šūnas no pdf un ielīmējiet tās mūsu izklājlapā.

Atstājiet savu komentāru