Bagaimana mengkonversi tabel dari PDF ke Excel atau CSV dengan Tabula

Lulus dan ubah pdf ke csv dan excel

Melihat data historis yang ditawarkan oleh observatorium meteorologi di kota saya, saya melihatnya mereka hanya menawarkannya dalam bentuk grafik dan untuk diunduh sebagai PDF. Saya tidak mengerti mengapa mereka tidak mengizinkan Anda mendownloadnya di csv, yang akan jauh lebih berguna untuk semua orang.

Jadi saya sudah mencari satu solusi untuk melewatkan tabel ini dari pdf ke csv atau jika seseorang ingin memformat Excel atau Libre Office. Saya suka csv karena dengan csv Anda melakukan semua yang Anda dapat menanganinya dengan python dan perpustakaannya atau Anda dapat dengan mudah mengimpornya ke spreadsheet apa pun.

Karena idenya adalah untuk mencapai proses otomatis, yang saya inginkan adalah skrip untuk bekerja dengan Python dan di sinilah Tabula masuk.

Konversi pdf ke csv dengan Tabula

Langkah-langkah dan pengoperasiannya sangat sederhana. Yang pertama akan instal perpustakaan Tabula di lingkungan pengembangan kami. Tabula memungkinkan kita mengekstrak data dari tabel PDF ke dalam kerangka data Pandas, pustaka Python yang dioptimalkan untuk bekerja dengan csv dan array.

Itu juga memungkinkan ekstrak dan konversi antara PDF, JSON, CSV dan TSV. Permata. Anda dapat menemukan lebih banyak informasi di dalamnya repositori github

Saya memanfaatkan semua pekerjaan dari hari-hari sebelumnya dan menginstalnya di Anaconda. Di tautan Anda dapat melihat caranya instal Anaconda.

Kami menginstal Tabula

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

Saat menjalankannya, itu memberi saya kesalahan

solusi seperti yang ditunjukkan dalam dokumentasi mereka adalah menghapus versi lama Tabula dan menginstal yang baru.

pip uninstall tabula
pip install tabula-py

Kami membuat file .py yang dapat dieksekusi

membaca tabel dari pdf ke csv

Saya membuat .py yang dapat dieksekusi yang saya sebut pdftocsv.py Saya meletakkannya di folder Downloads / eltiempo saya dan itu adalah file dengan kode berikut

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 untuk dibaca disebut inforatge.pdf dan saya katakan bahwa outputnya disebut out.csv dan itu akan tetap berada di folder tempat kita bekerja.

Kami pergi ke direktori tempat kami memiliki file yang dapat dieksekusi dan pdf yang ingin kami konversi. Ini penting karena jika Anda memberi tahu kami bahwa Anda tidak dapat menemukan file tersebut.

cd Descargas/eltiempo

Di direktori ini kita memiliki PDF, file .py yang telah kita buat dan di sana akan mengembalikan csv yang kita inginkan.

Kami menjalankan kodenya

python pdftocsv.py

Perhatikan bahwa saya telah menggunakan python, yaitu, saya memberi tahu untuk menjalankannya dengan python 2 dan bukan dengan python3 yang gagal. Dan itu saja jika tidak mengembalikan kesalahan apa pun, kami sudah memilikinya.

menjalankan Tabula di lingkungan pengembangan Anaconda kami

Kami telah menambahkan 3 baris lagi ke file untuk kontrol runtime. pada akhirnya kita meninggalkan file pdftocsv.py kita sebagai

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

Lebih banyak pilihan dari Tabula

Lebih banyak contoh hal yang dapat kita lakukan. Ada banyak opsi, yang terbaik adalah melalui repositori Github resmi yang saya tinggalkan

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

Dan tidak diragukan lagi salah satu hal paling berguna untuk mengonversi semua file PDF, JSON, dll. Ke dalam sebuah direktori.

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

Dengan ini kami dapat mengotomatiskan tugas-tugas yang seharusnya panjang dan membosankan. Pada akhirnya inilah salah satu alasan untuk menggunakan perpustakaan ini.

Ubah pdf menjadi excel online

Jika yang kita inginkan adalah mengonversi file, mengekstrak data dari tabel dari PDF ke Excel, Librecalc atau serupa, itu tidak perlu terlalu rumit. Ada beberapa alat yang tersedia untuk melakukan ini, beberapa untuk menginstal dan beberapa untuk menyelesaikan pekerjaan secara online.

Saya telah mencoba dua alat online ini dan mereka bekerja dengan sangat baik.

Perlu diingat bahwa ini bukan pekerjaan otomatis, dan oleh karena itu studi tentang alat-alat ini belum menyeluruh. Saya hanya mengomentarinya untuk mereka yang mungkin tertarik.

Metode klasik

Dan kami selalu memiliki metode klasik, yang paling ceroboh dan mahal tetapi pada akhirnya itu adalah pilihan jika ada sedikit pekerjaan.

Salin sel tabel dari pdf dan tempelkan ke dalam spreadsheet kami.

Tinggalkan komentar