Менің қаламдағы метеорологиялық обсерватория ұсынған тарихи деректерге қарап, мен мұны көремін олар тек графикалық түрде және PDF түрінде жүктеу үшін ұсынады. Неліктен оларды CSV-те жүктеуге мүмкіндік бермейтінін түсінбеймін, бұл бәріне әлдеқайда пайдалы болар еді.
Сондықтан мен оны іздедім осы кестелерді pdf-тен csv-ге беру немесе егер біреу Excel немесе Libre Office-ті пішімдеуді қаласа. Мен CSV-ді ұнатамын, өйткені csv көмегімен сіз оны python-мен және оның кітапханаларымен жұмыс істеудің бәрін жасайсыз немесе кез-келген кестеге оңай импорттай аласыз.
Автоматтандырылған үрдіске жету идеясы болғандықтан, мен Python-пен жұмыс жасайтын сценарий алғым келеді және бұл жерде Табула келеді.
Pdf файлын csv-ге Табуламен ауыстырыңыз
Қадамдар мен жұмыс өте қарапайым. Біріншісі болады біздің даму ортамызда Табула кітапханасын орнатыңыз. Табула бізге PDF ішіндегі кестелерден CSS және массивтермен жұмыс істеу үшін оңтайландырылған Python кітапханасының Pandas деректер жиектеріне шығаруға мүмкіндік береді.
Бұл да мүмкіндік береді шығарып алу, PDF, JSON, CSV және TSV арасында айырбастау. Асыл тас. Сіз одан көп ақпаратты таба аласыз репозиторий
Мен алдыңғы күндердегі барлық жұмыстарды пайдаланып, оны Анакондаға орнатамын. Сілтемеден сіз қалай көре аласыз Anaconda орнатыңыз.
Біз Табуланы орнатамыз
#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 құрамыз
Мен pdftocsv.py деп аталатын орындалатын .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
Мен python қолданғаныма назар аударыңыз, яғни мен оны python 2-мен іске қосыңыз, ал сәтсіздікке ұшыраған python3-пен емес. Егер қате болмаса, бізде бар.
Жұмыс уақытын бақылау үшін файлға тағы 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))
Табуладан қосымша опциялар
Біз жасай алатын нәрселер туралы көбірек мысалдар. Көптеген нұсқалар бар, ең жақсысы мен қалдырған 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 файлын интернеттегі Excel бағдарламасына ауыстырыңыз
Егер біз тек файлды түрлендіруді, кестеден деректерді PDF-тен Excel-ге, Librecalc-қа немесе басқаларына шығарғымыз келсе, оны соншалықты қиындатудың қажеті жоқ. Мұны жасауға болатын құралдар бар, кейбіреулері орнатылады, ал кейбіреулері интернеттегі жұмысты аяқтайды.
Мен осы екі онлайн құралды қолданып көрдім және олар өте жақсы жұмыс істейді.
- https://www.pdftoexcel.com/es
- https://www.pdftoexcelonline.com/es/ жақсы жұмыс істейді, бірақ құжатты сізге пошта арқылы жібереді
Есіңізде болсын, бұл автоматтандырылған жұмыс емес, сондықтан осы құралдарды зерттеу толық болған жоқ. Мен оларға қызығушылық танытқандар үшін ғана түсініктеме беремін.
Классикалық әдіс
Бізде әрдайым классикалық әдіс бар, ол ең салақ және қымбат, бірақ егер жұмыс аз болса, онда бұл нұсқа.
PDF кестесінен кесте ұяшықтарын көшіріп, біздің электрондық кестеге қойыңыз.