نحوه تبدیل جداول از PDF به Excel یا CSV با Tabula

تصویب و تبدیل pdf به csv و excel

با نگاهی به داده های تاریخی ارائه شده توسط یک رصدخانه هواشناسی در شهر من ، می بینم که آنها فقط آنها را به صورت گرافیکی و برای بارگیری بصورت PDF ارائه می دهند. من نمی فهمم چرا آنها اجازه نمی دهند آنها را در csv بارگیری کنید ، که برای همه بسیار مفیدتر است.

بنابراین من به دنبال یکی از آنها بوده ام راه حل برای انتقال این جداول از pdf به csv یا اگر کسی می خواهد Excel یا Libre Office را قالب بندی کند. من csv را دوست دارم زیرا با csv همه کارهایی را که می توانید با پایتون و کتابخانه هایش انجام دهید انجام می دهید یا می توانید آن را به راحتی در هر صفحه گسترده وارد کنید.

از آنجا که ایده دستیابی به یک فرایند خودکار است ، آنچه من می خواهم اسکریپت برای کار با پایتون است و اینجاست که Tabula وارد می شود.

تبدیل pdf به csv با Tabula

مراحل کار بسیار ساده است. اولین خواهد بود کتابخانه Tabula را در محیط توسعه خود نصب کنید. Tabula به ما امکان می دهد داده ها را از جداول PDF در فریم داده های Pandas استخراج کنیم ، کتابخانه پایتون که برای کار با csv و آرایه ها بهینه شده است.

همچنین اجازه می دهد استخراج و تبدیل بین PDF ، JSON ، CSV و TSV. یک گوهر شما می توانید اطلاعات بیشتری در آن پیدا کنید مخزن github

در لیست ارسال ما ثبت نام نمایید

من از همه کارهای روزهای گذشته استفاده می کنم و آن را در آناکوندا نصب می کنم. در لینک می توانید نحوه مشاهده را ببینید آناکوندا را نصب کنید.

ما 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 نامیده می شود آن را در پوشه Downloads / 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

توجه کنید که من از پایتون استفاده کرده ام ، یعنی به او می گویم که آن را با پایتون 2 اجرا کند و نه با پایتون 3 که از کار بیفتد. و این تمام آن است که اگر خطایی را برطرف نکند ، ما قبلاً آن را داشته ایم.

Tabula را در محیط توسعه آناکوندا اجرا کنید

ما برای کنترل زمان اجرا 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 کپی کرده و در صفحه گسترده ما جایگذاری کنید.

دیدگاهتان را بنویسید: