logo

Table Python

Uvod

Općenito, nije nužno da podaci koje koristimo budu dostupni u CSV ili JSON formatu. Podaci se mogu pohraniti u obliku tablice u PDF datoteku. Kao najjednostavniji slučaj, možemo kopirati i zalijepiti tablicu u proračunsku tablicu ili uređivač teksta. No također se može dogoditi da možemo više od jedne tablice u istom PDF-u sa sličnim strukturama. Za takve slučajeve moramo kopirati i zalijepiti svaku od ovih tablica zasebno, što čini posao zamornim.

Međutim, kako bi prekinuo ovaj dosadan posao, Python nudi biblioteku otvorenog koda, također poznatu kao stol-py , koji korisnicima omogućuje izdvajanje više od jedne tablice. U sljedećem vodiču naučit ćemo o tablicama i njihovim funkcijama.

Što je Tabula?

Tabular je osnovni omotač tabula-jave koji korisnicima omogućuje izdvajanje tablice i pretvara PDF datoteku izravno u podatkovne okvire ili JSON pomoću Python programski jezik . Korisnik također može izdvojiti tablice iz PDF-a i pretvoriti ih u datoteke formata TSV, CSV ili JSON.

math.random java

Tabula je alat temeljen na aplikaciji grafičkog korisničkog sučelja (GUI); međutim, tablica-java je alat temeljen na korisničkom sučelju naredbenog retka (CUI). tabula-java pruža vezivanje za Ruby, R i NodeJS, ali ne i za Python. Tako su programeri predstavili koncept stol-py koji osigurava Python vezivanje.

Hajde sada da shvatimo tko koristi Tabulu i kako je možemo instalirati.

Tko koristi Tabulu?

Tabula je moćan alat koji koriste novinske kuće svih veličina kako bi osnažile istraživačko novinarstvo. ove Novinske organizacije su The Times of London, ProPublica, Foreign Policy, The New York Times, La Nacion (Argentina) i St. Paul (MN) Pioneer Press.

Postoje Grassroots organizacije kao što je SchoolCuts.org koje također ovise o Tabuli kako bi pretvorile nezgrapne dokumente u javne resurse prilagođene ljudima.

Osim gore navedenog, postoje istraživači iz drugih sredina koji koriste Tabulu za pretvaranje svojih PDF izvješća u Excel proračunske tablice, CSV i datoteke u JSON formatu te je koriste u svrhu analize i aplikacija baze podataka.

Implementacija Tabule u Pythonu

Nakon što smo malo razgovarali o Tabuli, shvatimo njezinu implementaciju u Pythonu.

Instalacija knjižnice

Od stol-py je knjižnica otvorenog koda Pythona, koristit ćemo se pip instalater kako biste instalirali biblioteku.

 $ pip install tabula-py 

Uvoz knjižnice

Nakon što je instalacija dovršena, možemo je provjeriti jednostavnim uvozom biblioteke kao što je prikazano u nastavku:

 import tabula 

U slučaju da program vrati an pogreška pri uvozu , preporučuje se ponovno instaliranje paketa.

The stol-py biblioteka pruža razne funkcije kao što su čitanje PDF datoteke, čitanje tablice na određenoj stranici PDF datoteke, čitanje više tablica na istoj stranici PDF datoteke ili izravno pretvaranje PDF datoteka u CSV datoteku.

Počnimo s čitanjem PDF datoteke

Čitanje PDF datoteke

The stol-py biblioteka omogućuje svojim korisnicima čitanje PDF datoteke pomoću funkcije poznate kao read_pdf() funkcija.

Sintaksa:

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

Parametri:

naziv datoteke: The naziv datoteke parametar je naziv pdf datoteke; želimo čitati podatke iz.

Pretvorimo sljedeću pdf podatkovnu tablicu u pandas Data Frame.

Naziv datoteke: marksheet_table.py

Stranica 1

Ime Engleski Fizika Kemija Biologija Ukupno
A 86 54 65 83 288
B 56 Četiri pet 80 55 236
C 3. 4 66 73 90 263
D 77 75 46 3. 4 232
I 74 82 55 77 288
F 69 76 82 46 273
G 53 33 29 Četiri pet 160
H 70 41 67 23 201
ja 80 43 88 28 239
J 90 37 Četiri pet 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
Q Četiri pet 87 80 Četiri pet 257
R 44 66 49 78 237
S 78 39 78 80 275
T 56 54 76 86 273
U 43 90 64 77 274
U 95 88 66 55 304
U 64 67 86 80 297
x 82 56 Četiri pet 65 248
I 79 65 70 54 268
S 83 54 40 75 252

Ovdje je primjer dat u nastavku koji pokazuje kako izvući podatke iz pdf-a.

Primjer:

 # 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]) 

Izlaz:

 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 

Obrazloženje:

U gornjem primjeru uvezli smo potrebnu biblioteku i definirali varijablu koja pohranjuje adresu pdf podatkovne datoteke. Zatim smo upotrijebili read_pdf() funkcija za čitanje podataka iz pdf-a i ispis za korisnike. Kao rezultat toga, podatkovna tablica je uspješno pročitana.

Napomena: Koristili smo stranice parametar u funkciji read_pdf() za čitanje podataka s navedenih stranica(a).

Razmotrimo još jedan primjer ispisa tablica s određene stranice, recimo stranice broj 2.

Primjer:

 # 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]) 

Izlaz:

 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 

Obrazloženje:

U gornjem primjeru slijedili smo isti postupak kao i ranije. Međutim, dodijelili smo stranice parametar na 2 i ispisao prvu tablicu navedene stranice. Kao rezultat, tablica nultog indeksa na stranici 2 je uspješno ispisana.

Sada shvatimo što se događa kada postoji više od jedne tablice na istoj stranici PDF podatkovne datoteke.

mysql jedinstveni ključ

Rukovanje više tablica na istoj stranici PDF datoteke

Možemo obraditi više od jedne tablice na istoj koristeći dodatni parametar poznat kao više_tablica. The više_tablica parametar uzima Booleovu vrijednost za koju je read_pdf() funkcija čita više tablica kao neovisne tablice ako je true ili čita više tablica kao jednu tablicu ako je false.

Razmotrimo sljedeći primjer koji pokazuje kako čitati više tablica kao neovisne tablice.

Primjer:

 # 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]) 

Izlaz:

 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 

Obrazloženje:

U sljedećem primjeru ponovno smo uvezli traženu biblioteku i definirali varijablu koja pohranjuje adresu PDF datoteke. Zatim smo upotrijebili read_pdf() funkciju i uključivao je više_tablica parametar koji ga postavlja na Pravi . Zatim smo odvojeno ispisali više tablica prisutnih na stranici 2 PDF datoteke.

Razmotrimo sada primjer da bismo razumjeli kako čitati više tablica kao jednu tablicu.

Primjer:

 # 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]) 

Izlaz:

koje godine je izumljeno računalo
 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 

Obrazloženje:

U sljedećem primjeru sada smo postavili više_tablica parametar za lažno . Kao rezultat toga, tablice prikazane na stranici 2 tretiraju se kao jedna tablica.

Pretvaranje PDF datoteke izravno u CSV datoteku

Možemo pretvoriti PDF datoteku koja sadrži tablične podatke izravno u CSV datoteku uz pomoć pretvoriti u() metoda u tabula knjižnica.

Sintaksa:

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

Razmotrimo sljedeći primjer koji ilustrira pretvaranje PDF datoteke u CSV datoteku.

Primjer:

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

Izlaz:

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

Obrazloženje:

U gornjem primjeru ponovno smo uvezli traženu biblioteku i definirali varijablu koja sadrži adresu PDF datoteke. Zatim smo upotrijebili pretvoriti u() način za pretvaranje PDF datoteke u CSV datoteku i ispis poruke o uspjehu.

Štoviše, također možemo primijetiti da je program vratio izjavu koja kaže da je 'stranice' argument nije naveden. Dakle, tablica prisutna na stranici 1 bit će ekstrahirana prema zadanim postavkama.