logo

Tabula Python

Ievads

Parasti mūsu izmantotajiem datiem nav jābūt pieejamiem CSV vai JSON formātā. Datus var saglabāt tabulas veidā PDF failā. Vienkāršākā gadījumā mēs varam kopēt un ielīmēt tabulu izklājlapā vai teksta redaktorā. Taču var būt arī tā, ka vienā un tajā pašā PDF failā var būt vairākas tabulas ar līdzīgām struktūrām. Šādos gadījumos mums ir jākopē un jāielīmē katra no šīm tabulām atsevišķi, kas padara darbu nogurdinošu.

Tomēr, lai samazinātu šo drūmo darbu, Python nodrošina atvērtā koda bibliotēku, kas pazīstama arī kā galda-py , kas ļauj lietotājiem skaidri iegūt vairāk nekā vienu tabulu. Nākamajā apmācībā mēs uzzināsim par tabulām un to funkcijām.

Kas ir Tabula?

Tabular ir tabula-java pamata iesaiņojums, kas ļauj lietotājiem izvilkt tabulu un konvertēt PDF failu tieši datu rāmjos vai JSON, izmantojot Python programmēšanas valoda . Lietotājs var arī izvilkt tabulas no PDF un pārvērst tās TSV, CSV vai JSON formāta failos.

Tabula ir rīks, kura pamatā ir grafiskā lietotāja interfeisa (GUI) lietojumprogramma; tomēr tabula-java ir rīks, kura pamatā ir komandrindas lietotāja interfeiss (CUI). tabula-java nodrošina Ruby , R un NodeJS saistīšanu, bet ne Python. Tādējādi izstrādātāji ieviesa jēdzienu galda-py kas nodrošina Python saistīšanu.

Tagad sapratīsim, kas izmanto Tabula un kā mēs varam to instalēt.

Kas izmanto Tabulu?

Tabula ir spēcīgs rīks, ko izmanto dažāda lieluma ziņu organizācijas, lai nodrošinātu izmeklēšanas ziņojumu sniegšanu. Šie Ziņu organizācijas ir The Times of London, ProPublica, Foreign Policy, The New York Times, La Nacion (Argentīna) un St. Paul (MN) Pioneer Press.

Ir tādas pamatorganizācijas kā SchoolCuts.org, kas arī ir atkarīgas no Tabula, lai pārvērstu neērtus dokumentus par cilvēkiem draudzīgiem valsts resursiem.

Neatkarīgi no iepriekšminētā, ir arī citi pētnieki, kuri izmanto Tabulu, lai pārvērstu savus PDF pārskatus Excel izklājlapu, CSV un JSON formāta failos un izmanto to analīzei un datu bāzes lietojumprogrammām.

Tabula ieviešana Python

Kad esam mazliet apsprieduši Tabulu, sapratīsim tās ieviešanu Python.

Bibliotēkas uzstādīšana

Kopš galda-py ir Python atvērtā koda bibliotēka, mēs izmantosim pip instalētāju, lai instalētu bibliotēku.

 $ pip install tabula-py 

Bibliotēkas importēšana

Kad instalēšana ir pabeigta, mēs varam to pārbaudīt, vienkārši importējot bibliotēku, kā parādīts tālāk:

 import tabula 

Gadījumā, ja programma atgriež an importēšanas kļūda , ieteicams atkārtoti instalēt pakotni.

The galda-py bibliotēka nodrošina dažādas funkcijas, piemēram, PDF faila lasīšanu, tabulas lasīšanu noteiktā PDF faila lapā, vairāku tabulu lasīšanu vienā un tajā pašā PDF faila lapā vai PDF failu tiešu konvertēšanu par CSV failu.

alfabēts uz cipariem

Sāksim ar PDF faila lasīšanu

PDF faila lasīšana

The galda-py bibliotēka ļauj lietotājiem lasīt PDF failu, izmantojot funkciju, kas pazīstama kā lasīt_pdf() funkciju.

Sintakse:

 obj = tabula.read_pdf(filename, args[]) 

Parametri:

faila nosaukums: The faila nosaukums parametrs ir pdf faila nosaukums; mēs vēlētos lasīt datus no.

Ļaujiet mums pārvērst šo pdf datu tabulu par pandas datu rāmi.

Faila nosaukums: marksheet_table.py

Lapa: 1

Vārds Angļu Fizika Ķīmija Bioloģija Kopā
A 86 54 65 83 288
B 56 Četri 80 55 236
C 3. 4 66 73 90 263
D 77 75 46 3. 4 232
UN 74 82 55 77 288
F 69 76 82 46 273
G 53 33 29 Četri 160
H 70 41 67 23 201
es 80 43 88 28 239
90 37 Četri 71 243
K 98 55 88 81 322
L 90 54 67 37 248
M 87 76 88 54 305
N 86 69 82 66 303
O 67 74 54 65 260
P 75 96 53 67 291
J Četri 87 80 Četri 257
R 44 66 49 78 237
S 78 39 78 80 275
T 56 54 76 86 273
IN 43 90 64 77 274
IN 95 88 66 55 304
IN 64 67 86 80 297
X 82 56 Četri 65 248
UN 79 65 70 54 268
AR 83 54 40 75 252

Tālāk ir sniegts piemērs, kas parāda, kā iegūt datus no pdf.

Piemērs:

 # importing the library import tabula # address of the file myfile = 'marksheet_table.pdf' # using the read_pdf() function mytable = tabula.read_pdf(myfile, pages = 1) # printing the table print(mytable[0]) 

Izvade:

 Name English Physics Chemistry Biology Total 0 A 86 54 65 83 288 1 B 56 45 80 55 236 2 C 34 66 73 90 263 3 D 77 75 46 34 232 4 E 74 82 55 77 288 5 F 69 76 82 46 273 6 G 53 33 29 45 160 7 H 70 41 67 23 201 8 I 80 43 88 28 239 9 J 90 37 45 71 243 10 K 98 55 88 81 322 11 L 90 54 67 37 248 12 M 87 76 88 54 305 13 N 86 69 82 66 303 14 O 67 74 54 65 260 15 P 75 96 53 67 291 16 Q 45 87 80 45 257 17 R 44 66 49 78 237 18 S 78 39 78 80 275 19 T 56 54 77 86 273 20 U 43 90 64 77 274 21 V 95 88 66 55 304 22 W 64 67 86 80 297 23 X 82 56 45 65 248 24 Y 79 65 70 54 268 25 Z 83 54 40 75 252 

Paskaidrojums:

Iepriekš minētajā piemērā mēs esam importējuši nepieciešamo bibliotēku un definējuši mainīgo, kas saglabā pdf datu faila adresi. Pēc tam mēs izmantojām lasīt_pdf() funkcija, lai nolasītu datus no pdf un izdrukātu tos lietotājiem. Rezultātā datu tabula ir veiksmīgi nolasīta.

Piezīme: mēs esam izmantojuši lapas parametrs funkcijā read_pdf(), lai nolasītu datus no norādītās(-ām) lapas(-ām).

Apskatīsim citu piemēru, kā izdrukāt tabulas no konkrētas lapas, piemēram, 2. lappuses.

Piemērs:

 # importing the library import tabula # address of the file myfile = 'marksheet_table.pdf' # using the read_pdf() function mytable = tabula.read_pdf(myfile, pages = 2) # printing the table print(mytable[0]) 

Izvade:

 Name Final Scores 0 A 288 1 B 236 2 C 263 3 D 232 4 E 288 5 F 273 6 G 160 7 H 201 8 I 239 9 J 243 3 D 232 4 E 288 5 F 273 6 G 160 7 H 201 8 I 239 9 J 243 10 K 322 11 L 248 12 M 305 13 N 303 14 O 260 15 P 291 16 Q 257 17 R 237 18 S 275 19 T 273 20 U 274 21 V 304 22 W 297 23 X 248 24 Y 268 25 Z 252 

Paskaidrojums:

Iepriekš minētajā piemērā mēs esam ievērojuši to pašu procedūru kā iepriekš. Tomēr mēs esam piešķīruši lapas parametru uz 2 un izdrukāja norādītās lapas pirmo tabulu. Rezultātā indeksa nulles tabula 2. lappusē ir veiksmīgi izdrukāta.

Tagad sapratīsim, kas notiek, ja vienā PDF datu faila lapā ir vairāk nekā viena tabula.

saraksts vs iestatīts java

Vairāku tabulu apstrāde vienā PDF faila lapā

Mēs varam apstrādāt vairāk nekā vienu tabulu tajā pašā, izmantojot papildu parametru, kas pazīstams kā vairākas_tabulas. The vairākas_tabulas parametrs ņem Būla vērtību, kurai lasīt_pdf() funkcija nolasa vairākas tabulas kā neatkarīgas tabulas, ja ir patiesa, vai nolasa vairākas tabulas kā vienu tabulu, ja tā ir nepatiesa.

Apskatīsim šo piemēru, kas parāda, kā lasīt vairākas tabulas kā neatkarīgas tabulas.

Piemērs:

 # importing the library import tabula # address of the file myfile = 'marksheet_table.pdf' # using the read_pdf() function mytable = tabula.read_pdf(myfile, pages = 2, multiple_tables = True) # printing the table print(mytable[0]) print(mytable[1]) 

Izvade:

 Name Final Scores 0 A 288 1 B 236 2 C 263 3 D 232 4 E 288 5 F 273 6 G 160 7 H 201 8 I 239 9 J 243 10 K 322 11 L 248 12 M 305 13 N 303 14 O 260 15 P 291 16 Q 257 17 R 237 18 S 275 19 T 273 20 U 274 21 V 304 22 W 297 23 X 248 24 Y 268 25 Z 252 Name Position 0 K I 1 M II 2 V III 3 N IV 4 W V 

Paskaidrojums:

Nākamajā piemērā mēs atkal esam importējuši nepieciešamo bibliotēku un definējuši mainīgo, kas saglabā PDF faila adresi. Pēc tam mēs izmantojām lasīt_pdf() funkcija un iekļauta vairākas_tabulas iestatot to uz Taisnība . Pēc tam esam atsevišķi izdrukājuši vairākas PDF faila 2. lappusē esošās tabulas.

Tagad apskatīsim piemēru, lai saprastu, kā lasīt vairākas tabulas kā vienu tabulu.

Piemērs:

 # importing the library import tabula # address of the file myfile = 'marksheet_table.pdf' # using the read_pdf() function mytable = tabula.read_pdf(myfile, pages = 2, multiple_tables = False) # printing the table print(mytable[0]) 

Izvade:

atlasiet sql no vairākām tabulām
 Name Final Scores 0 A 288 1 B 236 2 C 263 3 D 232 4 E 288 5 F 273 6 G 160 7 H 201 8 I 239 9 J 243 10 K 322 11 L 248 12 M 305 13 N 303 14 O 260 15 P 291 9 J 243 10 K 322 11 L 248 12 M 305 13 N 303 14 O 260 15 P 291 16 Q 257 17 R 237 18 S 275 19 T 273 20 U 274 21 V 304 22 W 297 23 X 248 24 Y 268 25 Z 252 26 Name Position 27 K I 28 M II 29 V III 30 N IV 31 W V 

Paskaidrojums:

Nākamajā piemērā mēs tagad esam iestatījuši vairākas_tabulas parametrs uz Nepatiesi . Rezultātā 2. lappusē esošās tabulas tiek uzskatītas par vienu tabulu.

PDF faila konvertēšana tieši CSV failā

Mēs varam pārvērst PDF failu, kurā ir tabulas dati, tieši par CSV failu, izmantojot convert_into() metode sadaļā tabula bibliotēka.

Sintakse:

 tabula.convert_into('filename.pdf', 'newfilename.csv', args[]) 

Apskatīsim šādu piemēru, kas ilustrē PDF faila konvertēšanu CSV failā.

Piemērs:

 # importing the library import tabula # address of the file myfile = 'marksheettable.pdf' # using the read_pdf() function tabula.convert_into(myfile, 'marksheet.csv') print('The PDF file has been converted successfully.') 

Izvade:

 'pages' argument isn't specified.Will extract only from page 1 by default. The PDF file has been converted successfully. 

Paskaidrojums:

Iepriekš minētajā piemērā mēs atkal esam importējuši nepieciešamo bibliotēku un definējuši mainīgo, kas satur PDF faila adresi. Pēc tam mēs izmantojām convert_into() metodi PDF faila konvertēšanai CSV failā un izdrukāja veiksmes ziņojumu.

Turklāt mēs varam arī novērot, ka programma atgrieza paziņojumu, kurā teikts, ka 'lapas' arguments nav norādīts. Tādējādi 1. lappusē esošā tabula tiks izvilkta pēc noklusējuma.