Како претворити табеле из ПДФ-а у Екцел или ЦСВ помоћу Табуле

Прођите и претворите пдф у цсв и екцел

Гледајући историјске податке које нуди метеоролошка опсерваторија у мом граду, видим то нуде их само графички и за преузимање у ПДФ-у. Не разумем зашто вам не дозвољавају да их преузмете у цсв, што би било много корисније за све.

Па сам тражио једног решење за прослеђивање ових табела из пдф-а у цсв или ако неко жели да форматира Екцел или Либре Оффице. Свиђа ми се цсв јер са цсв-ом радите све што можете да урадите са питхоном и његовим библиотекама или га лако можете увести у било коју табелу.

Како је идеја постизање аутоматизованог процеса, оно што желим је скрипта за рад са Питхоном и ту долази Табула.

Претворите пдф у цсв помоћу Табеле

Кораци и руковање је врло једноставно. Први ће бити инсталирајте библиотеку Табула у наше развојно окружење. Табула нам омогућава издвајање података из табела у ПДФ-у у Пандас оквире података, Питхон библиотеку оптимизовану за рад са цсв-ом и низовима.

То такође дозвољава издвајање и претварање између ПДФ, ЈСОН, ЦСВ и ТСВ. Драгуљ. У њему можете пронаћи много више информација гитхуб спремиште

Претплатите се на нашу маилинг листу

Искористим сав посао из претходних дана и инсталирам га у Анаконду. На линку можете видети како инсталирајте Анацонду.

Инсталирамо Табулу

#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

Креирамо извршну датотеку .пи

читати табеле из пдф-а у цсв

Направим извршну датотеку .пи коју зовем пдфтоцсв.пи Ставим је у свој фолдер Довнлоадс / елтиемпо и то је датотека са следећим кодом

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

Пдф за читање зове се инфоратге.пдф и кажем му да се излаз позива оут.цсв и остаће у фасцикли у којој радимо.

Идемо у директоријум где имамо и извршну датотеку и пдф који желимо да претворимо. Важно је јер ће нам рећи да не може пронаћи датотеку.

cd Descargas/eltiempo

У овом директоријуму имамо ПДФ, .пи датотеку коју смо креирали и тамо ће вратити цсв који желимо.

Извршавамо код

python pdftocsv.py

Приметите да сам користио питхон, то јест, кажем му да га покреће са питхон 2, а не са питхон3 који не успе. И то је то ако не врати грешку, ми је већ имамо.

покрените Табулу у нашем развојном окружењу Анацонда

У датотеку смо додали још 3 реда за контролу извођења. на крају смо датотеку пдфтоцсв.пи оставили као

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

И без сумње једна од најкориснијих ствари за претварање свих ПДФ, ЈСОН итд. Датотека у директоријум.

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

Овим можемо аутоматизовати задатке који би иначе били дуготрајни и заморни. На крају, ово је један од разлога за коришћење ове библиотеке.

Претворите пдф у екцел на мрежи

Ако је оно што желимо једноставно претворити датотеку, извући податке из табеле из ПДФ-а у Екцел, Либрецалц или слично, није потребно толико компликовати. Доступни су алати за то, неки за инсталирање, а неки за посао на мрежи.

Испробао сам ова два мрежна алата и раде врло добро.

Имајте на уму да ово није аутоматизован посао и зато проучавање ових алата није било исцрпно. Коментирам их само за оне који могу бити заинтересовани.

Класична метода

И увек имамо класичну методу, најнеуреднију и најскупљу, али на крају је опција ако има мало посла.

Копирајте ћелије табеле из пдф-а и налепите их у нашу табелу.

Леаве а цоммент