Πώς να μετατρέψετε πίνακες από PDF σε Excel ή CSV με τον Πίνακα

Περάστε και μετατρέψτε το pdf σε csv και υπερέχετε

Κοιτάζοντας τα ιστορικά δεδομένα που προσφέρει ένα μετεωρολογικό παρατηρητήριο στην πόλη μου, το βλέπω αυτό τους προσφέρουν μόνο γραφικά και για λήψη ως PDF. Δεν καταλαβαίνω γιατί δεν σας αφήνουν να τα κατεβάσετε στο csv, κάτι που θα ήταν πολύ πιο χρήσιμο για όλους.

Έτσι έψαχνα ένα λύση για να περάσετε αυτούς τους πίνακες από το pdf στο csv ή εάν κάποιος θέλει να μορφοποιήσει το Excel ή το Libre Office. Μου αρέσει το csv γιατί με ένα csv κάνετε ό, τι μπορείτε να το χειριστείτε με το python και τις βιβλιοθήκες του ή μπορείτε εύκολα να το εισαγάγετε σε οποιοδήποτε υπολογιστικό φύλλο.

Καθώς η ιδέα είναι να επιτευχθεί μια αυτοματοποιημένη διαδικασία, αυτό που θέλω είναι ένα σενάριο για να συνεργαστεί με την Python και εδώ έρχεται το Tabula.

Μετατροπή pdf σε csv με τον Πίνακα

Τα βήματα και η λειτουργία είναι πολύ απλά. Το πρώτο θα είναι εγκαταστήστε τη βιβλιοθήκη Tabula στο αναπτυξιακό μας περιβάλλον. Ο πίνακας μας επιτρέπει να εξάγουμε δεδομένα από πίνακες σε PDF σε πλαίσια δεδομένων Pandas, η βιβλιοθήκη Python βελτιστοποιημένη για εργασία με csv και πίνακες.

Επιτρέπει επίσης εξαγωγή και μετατροπή μεταξύ PDF, JSON, CSV και TSV. Ένα στολίδι. Μπορείτε να βρείτε πολύ περισσότερες πληροφορίες σε αυτό αποθετήριο github

Εγγραφείτε στη λίστα αλληλογραφίας μας

Εκμεταλλεύομαι όλη τη δουλειά των προηγούμενων ημερών και την εγκαθιστώ στο Anaconda Στον σύνδεσμο μπορείτε να δείτε πώς εγκαταστήστε το Anaconda.

Εγκαθιστούμε το Tabula

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

Κατά την εκτέλεση, μου έδωσε ένα σφάλμα

η λύση όπως αναφέρεται στην τεκμηρίωσή τους ήταν να απεγκαταστήσετε την παλιά έκδοση του Tabula και να εγκαταστήσετε τη νέα.

pip uninstall tabula
pip install tabula-py

Δημιουργούμε το εκτελέσιμο .py

διαβάστε πίνακες από pdf έως csv

Δημιουργώ το εκτελέσιμο .py που ονομάζω pdftocsv.py το έβαλα στο φάκελο Λήψεις / eltiempo και είναι ένα αρχείο με τον ακόλουθο κώδικα

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 για ανάγνωση ονομάζεται inforatge.pdf και το λέω ότι η έξοδος ονομάζεται out.csv και θα παραμείνει στο φάκελο στον οποίο εργαζόμαστε.

Πηγαίνουμε στον κατάλογο όπου έχουμε τόσο το εκτελέσιμο όσο και το pdf που θέλουμε να μετατρέψουμε. Είναι σημαντικό γιατί αν μας πει ότι δεν μπορεί να βρει το αρχείο.

cd Descargas/eltiempo

Σε αυτόν τον κατάλογο έχουμε το PDF, το αρχείο .py που έχουμε δημιουργήσει και εκεί θα επιστρέψει το csv που θέλουμε.

Εκτελούμε τον κώδικα

python pdftocsv.py

Παρατηρήστε ότι έχω χρησιμοποιήσει το python, δηλαδή, του λέω να το τρέξω με το python 2 και όχι με το python3 που αποτυγχάνει. Και αυτό είναι αν δεν επιστρέψει κανένα σφάλμα, το έχουμε ήδη.

τρέξτε το Tabula στο αναπτυξιακό μας περιβάλλον Anaconda

Έχουμε προσθέσει 3 ακόμη γραμμές στο αρχείο για έλεγχο χρόνου εκτέλεσης. στο τέλος αφήσαμε το αρχείο pdftocsv.py ως

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

Περισσότερες επιλογές από το Tabula

Περισσότερα παραδείγματα πραγμάτων που μπορούμε να κάνουμε. Υπάρχουν πολλές επιλογές, είναι καλύτερο να διαβάσετε το επίσημο αποθετήριο Github που έχω αφήσει

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

Και χωρίς αμφιβολία ένα από τα πιο χρήσιμα πράγματα για τη μετατροπή όλων των αρχείων PDF, JSON κ.λπ. σε έναν κατάλογο.

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

Με αυτό μπορούμε να αυτοματοποιήσουμε εργασίες που διαφορετικά θα ήταν μακρές και κουραστικές. Στο τέλος, αυτός είναι ένας από τους λόγους για τη χρήση αυτής της βιβλιοθήκης.

Μετατροπή pdf σε άριστη σύνδεση στο διαδίκτυο

Εάν αυτό που θέλουμε είναι απλώς να μετατρέψετε ένα αρχείο, να εξαγάγετε τα δεδομένα από τον πίνακα από PDF σε Excel, Librecalc ή παρόμοιο, δεν είναι απαραίτητο να το περιπλέξετε τόσο πολύ. Υπάρχουν διαθέσιμα εργαλεία για να το κάνετε αυτό, μερικά για εγκατάσταση και μερικά για να ολοκληρώσετε τη δουλειά σας στο διαδίκτυο.

Δοκίμασα αυτά τα δύο διαδικτυακά εργαλεία και λειτουργούν πολύ καλά.

Λάβετε υπόψη ότι αυτή δεν είναι μια αυτοματοποιημένη εργασία, και γι 'αυτό η μελέτη αυτών των εργαλείων δεν ήταν εξαντλητική. Τα σχολιάζω μόνο για εκείνους που μπορεί να ενδιαφέρονται.

Η κλασική μέθοδος

Και έχουμε πάντα την κλασική μέθοδο, την πιο ατημέλητη και ακριβή, αλλά στο τέλος είναι μια επιλογή εάν υπάρχει λίγη δουλειά.

Αντιγράψτε τα κελιά του πίνακα από το pdf και επικολλήστε τα στο υπολογιστικό φύλλο μας.

Αφήστε ένα σχόλιο