ሰንጠረ tablesችን ከፒዲኤፍ ወደ ኤክሴል ወይም ወደ ሲኤስቪ እንዴት ከ Tabula ጋር እንደሚቀይሩ

Pdf ን ወደ csv ይለፉ እና ይልቀቁ

በከተማዬ ውስጥ በሚቲዎሮሎጂ ታዛቢዎች የቀረበውን ታሪካዊ መረጃ ስመለከት ያንን አየሁ እነሱ እነሱን በግራፊክ እና ለፒዲኤፍ ለማውረድ ብቻ ያቀርባሉ. በ csv ውስጥ እንዲያወርዷቸው እንደማይፈቅዱልኝ አይገባኝም ፣ ይህም ለሁሉም የበለጠ ጠቃሚ ይሆናል ፡፡

ስለዚህ አንዱን ፈልጌያለሁ እነዚህን ጠረጴዛዎች ከፒዲኤፍ ወደ ሲ.ኤስ.ቪ ለማለፍ ወይም አንድ ሰው ኤክሴል ወይም ሊብሬ ቢሮን መቅረፅ ከፈለገ መፍትሄው. ሲ.ኤስ.ቪን እወዳለሁ ምክንያቱም በሲ.ኤስ.ቪ አማካኝነት ፒተንን እና ቤተመፃህፍቶቹን ለመቋቋም የሚችሉትን ሁሉ ማድረግ ይችላሉ ወይም በቀላሉ ወደ ማናቸውም የተመን ሉህ ማስገባት ይችላሉ ፡፡

ሀሳቡ በራስ-ሰር ሂደት ማግኘት እንደመሆኑ እኔ የምፈልገው ከፓይዘን ጋር ለመስራት ስክሪፕት ነው እናም ታቡላ የሚገባው እዚህ ነው ፡፡

ፒ.ዲ.ኤፍ.ን ወደ csv በታቡላ ቀይር

እርምጃዎች እና ክዋኔው በጣም ቀላል ነው ፡፡ የመጀመሪያው ይሆናል በልማታዊ አካባቢያችን ውስጥ የታቡላ ቤተ-መጽሐፍትን ይጫኑ. ታቡላ በፒዲኤፍ ውስጥ ከጠረጴዛዎች ውስጥ መረጃዎችን ወደ ፓንዳስ ዳታ ክፈፎች እንድናወጣ ያስችለናል ፣ የፓይዘን ቤተ-መጽሐፍት ከ csv እና ከድርድር ጋር ለመስራት ተመቻችቷል ፡፡

እንዲሁም ይፈቅዳል በፒዲኤፍ ፣ በ JSON ፣ በ CSV እና በ TSV መካከል ማውጣት እና መለወጥ. ዕንቁ በእሱ ውስጥ ብዙ ተጨማሪ መረጃዎችን ማግኘት ይችላሉ github ማከማቻ

ከቀደሙት ቀናት ጀምሮ ሁሉንም ስራዎች እጠቀማለሁ እና አናኮንዳ ውስጥ እጭናለሁ ፡፡ በአገናኙ ውስጥ እንዴት እንደሆነ ማየት ይችላሉ ጫን አናኮንዳ.

Tabula ን እንጭናለን

#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

ሊተገበር የሚችል .ፒ

ሰንጠረ pችን ከፒዲኤፍ እስከ ሲ.ኤስ.ቪ ያንብቡ

እኔ pdftocsv.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')

ለማንበብ ፒዲኤፍ inforatge.pdf ይባላል እና ውጤቱ out.csv ተብሎ እንደሚጠራ እና እኛ በምንሰራበት አቃፊ ውስጥ እንደሚቆይ እነግርዎታለሁ ፡፡

እኛ ልንለውጠው የምንፈልገውን ተፈፃሚነት እና ፒዲኤፍ ወዳለንበት ማውጫ እንሄዳለን ፡፡ አስፈላጊ ነው ምክንያቱም ፋይሉን ማግኘት እንደማይችሉ ከነገሩን።

cd Descargas/eltiempo

በዚህ ማውጫ ውስጥ እኛ የፈጠርነው ፒዲኤፍ ፣ ፒፒ ፋይል አለን እዚያም የምንፈልገውን ሲኤስቪ ይመልሳል ፡፡

ኮዱን እንፈጽማለን

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

እና ያለ ጥርጥር በማውጫ ውስጥ ሁሉንም ፒዲኤፍ ፣ JSON ፣ ወዘተ ፋይሎችን ለመለወጥ በጣም ጠቃሚ ከሆኑ ነገሮች ውስጥ አንዱ ነው ፡፡

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

በዚህ ረጅም እና አሰልቺ ሊሆኑ የሚችሉ ስራዎችን በራስ ሰር መሥራት እንችላለን ፡፡ በመጨረሻ ይህ ቤተ-መጽሐፍት ለመጠቀም አንዱ ምክንያት ይህ ነው ፡፡

በመስመር ላይ የላቀ pdf ን ይለውጡ

እኛ የምንፈልገው ፋይልን በቀላሉ መለወጥ ከሆነ ፣ መረጃውን ከጠረጴዛው ላይ ከፒ.ዲ.ኤፍ ወደ ኤክሴል ፣ ሊብሬካል ወይም ተመሳሳይ ለማውጣት ከሆነ ይህን ያህል እሱን ማወሳሰቡ አስፈላጊ አይደለም ፡፡ ይህንን ለማድረግ የሚረዱ መሣሪያዎች አሉ ፣ አንዳንዶቹ ለመጫን እና አንዳንዶቹ ሥራውን በመስመር ላይ ለማከናወን።

እነዚህን ሁለት የመስመር ላይ መሳሪያዎች ሞክሬያለሁ እናም እነሱ በጥሩ ሁኔታ ይሰራሉ ​​፡፡

ይህ ራስ-ሰር ሥራ አለመሆኑን ያስታውሱ ፣ ስለሆነም የእነዚህ መሳሪያዎች ጥናት ሙሉ በሙሉ አልተጠናቀቀም ፡፡ ለእነሱ ፍላጎት ላላቸው ሰዎች ብቻ አስተያየት እሰጣለሁ ፡፡

ክላሲካል ዘዴ

እና እኛ ሁሌም የጥንታዊው ዘዴ አለን ፣ በጣም የተዛባ እና ውድ ግን በመጨረሻ ስራው አነስተኛ ከሆነ አማራጭ ነው ፡፡

የጠረጴዛ ሕዋሶችን ከፒዲኤፍ ገልብጠው በተመን ሉካችን ውስጥ ይለጥ pasteቸው ፡፡

አስተያየት ተው