როგორ გადაიყვანოთ ცხრილი PDF- დან Excel- ში ან CSV- ში Tabula- ს საშუალებით

გაიარეთ და გადაიყვანეთ pdf CSV– ში და Excel– ში

ჩემს ქალაქში მეტეოროლოგიური ობსერვატორიის მიერ შემოთავაზებულ ისტორიულ მონაცემებს ვუყურებ ისინი მათ მხოლოდ გრაფიკულად სთავაზობენ და ჩამოტვირთვისთვის როგორც PDF. არ მესმის, რატომ არ გიშვებენ csv- ში გადმოსაწერად, რაც ბევრად უფრო სასარგებლო იქნება ყველასთვის.

ასე რომ, მე ვეძებდი ერთს გამოსავალია ეს ცხრილები pdf- დან csv- ზე გადასასვლელად ან თუ ვინმეს სურს Excel ან Libre Office ფორმატის შექმნა. მე მომწონს csv, რადგან csv– ით თქვენ ყველაფერს აკეთებთ, რაც შეგიძლიათ გაუმკლავდეთ მას python– ით და მისი ბიბლიოთეკებით, ან შეგიძლიათ მარტივად შემოიტანოთ იგი ნებისმიერ ცხრილში.

რადგან იდეა არის ავტომატიზირებული პროცესის მიღწევა, მე მსურს სკრიპტი ვიმუშაო Python– ზე და სწორედ აქ შემოდის ტაბულა.

გადაიყვანეთ pdf csv- ში ტაბულას საშუალებით

ნაბიჯები და ოპერაცია ძალიან მარტივია. პირველი იქნება ტაბულას ბიბლიოთეკის დაყენება ჩვენს განვითარების გარემოში. ტაბულა საშუალებას გვაძლევს PDF– დან ცხრილებიდან მოვიზიდოთ მონაცემები Pandas– ის მონაცემთა ჩარჩოებში, Python– ის ბიბლიოთეკაში ოპტიმიზირებულია csv და მასივებთან მუშაობისთვის.

ეს ასევე საშუალებას იძლევა ამოიღეთ და გადააკეთეთ PDF, JSON, CSV და TSV. ძვირფასი ქვა. მასში ბევრად მეტი ინფორმაციის ნახვა შეგიძლიათ github საცავი

გამოიწერეთ ჩვენი საფოსტო სია

მე ვისარგებლებ წინა ნამუშევრებით და ვაყენებ ანაკონდაში. ბმულზე შეგიძლიათ ნახოთ თუ როგორ დააინსტალირეთ ანაკონდა.

ჩვენ ვაყენებთ ტაბულას

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

მისი შესრულებისას შეცდომა მომცა

მათ დოკუმენტაციაში მითითებული გამოსავალი იყო ტაბულას ძველი ვერსიის დეინსტალაცია და ახლის ინსტალაცია.

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-ით, რომელიც ვერ ხერხდება. ესე იგი, თუ ის რაიმე შეცდომას არ დაგიბრუნებს, ის უკვე გვაქვს.

აწარმოეთ ტაბულა ჩვენს ანაკონდას განვითარების გარემოში

ხანგრძლივობის კონტროლისთვის ფაილს დავამატეთ კიდევ 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))

ტაბულას დამატებითი პარამეტრები

უფრო მეტი რამ, რისი გაკეთებაც შეგვიძლია. ბევრი ვარიანტი არსებობს, უმჯობესია გაიარო ოფიციალური საცავის საცავში, რომელიც მე დამრჩა

# 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 გადაიყვანეთ Excel- ის ონლაინ რეჟიმში

თუ ჩვენ გვინდა, რომ მარტივად გადავაკეთოთ ფაილი, მოვახდინოთ მონაცემების ცხრილიდან PDF- დან Excel- ზე, Librecalc- ს ან სხვა მსგავსი, არ არის საჭირო მისი ამდენი გართულება. ამისათვის ხელმისაწვდომი ხელსაწყოებია, ზოგი ინსტალაციისთვის, ზოგი კი სამუშაოს ონლაინ შესასრულებლად.

მე შევეცადე ეს ორი ონლაინ ინსტრუმენტი და ისინი ძალიან კარგად მუშაობენ.

გაითვალისწინეთ, რომ ეს არ არის ავტომატიზირებული სამუშაო და ამიტომ ამ ინსტრუმენტების შესწავლა არ ყოფილა ამომწურავი. მე მათ მხოლოდ კომენტარს ვაკეთებ მათთვის, ვინც შეიძლება დაინტერესდეს.

კლასიკური მეთოდი

ჩვენ ყოველთვის გვაქვს კლასიკური მეთოდი, ყველაზე დაუდევარი და ძვირი, მაგრამ საბოლოოდ ეს ვარიანტია, თუ მცირე სამუშაოა.

დააკოპირეთ ცხრილის უჯრედები pdf– დან და ჩასვით ჩვენს ცხრილში.

დატოვე კომენტარი