logo

Taulukko Python

Esittely

Yleensä käyttämiemme tietojen ei tarvitse olla saatavilla CSV- tai JSON-muodossa. Tiedot voidaan tallentaa taulukon muodossa PDF-tiedostoon. Yksinkertaisimmin voimme kopioida ja liittää taulukon laskentataulukkoon tai tekstieditoriin. Mutta voi myös olla, että voimme samassa PDF-tiedostossa olla useampi kuin yksi taulukko, jolla on samanlaiset rakenteet. Tällaisissa tapauksissa meidän on kopioitava ja liitettävä jokainen näistä taulukoista erikseen, mikä tekee työstä tylsää.

Python tarjoaa kuitenkin avoimen lähdekoodin kirjaston, joka tunnetaan myös nimellä table-py , jonka avulla käyttäjät voivat poimia useamman kuin yhden taulukon selvästi. Seuraavassa opetusohjelmassa opimme taulukoista ja niiden toiminnoista.

Mikä on Tabula?

Tabular on tabula-javan peruskääre, jonka avulla käyttäjät voivat poimia taulukon ja muuntaa PDF-tiedoston suoraan tietokehyksiksi tai JSONiksi käyttämällä Python ohjelmointikieli . Käyttäjä voi myös poimia taulukoita PDF-tiedostosta ja muuntaa ne TSV-, CSV- tai JSON-muotoisiksi tiedostoiksi.

Tabula on graafiseen käyttöliittymään (GUI) perustuva työkalu; kuitenkin, pöytä-java on Command-Line User Interface (CUI) -käyttöliittymään perustuva työkalu. tabula-java tarjoaa Rubyn, R:n ja NodeJS:n sidokset, mutta ei Pythonille. Niinpä kehittäjät esittelivät käsitteen table-py joka tarjoaa Python-sidoksen.

Ymmärrämme nyt, kuka käyttää Tabulaa ja kuinka voimme asentaa sen.

Kuka käyttää Tabulaa?

Tabula on tehokas työkalu, jota kaikenkokoiset uutisorganisaatiot käyttävät tutkivaan raportointiin. Nämä Uutisjärjestöt ovat The Times of London, ProPublica, Foreign Policy, The New York Times, La Nacion (Argentiina) ja St. Paul (MN) Pioneer Press.

On ruohonjuuritason organisaatioita, kuten SchoolCuts.org, jotka ovat myös riippuvaisia ​​Tabulasta muuntaakseen kömpelöitä asiakirjoja ihmisystävällisiksi julkisiksi resurssiksi.

Yllämainittujen lisäksi löytyy muuntaustaisia ​​tutkijoita, jotka käyttävät Tabulaa PDF-raporttiensa muuntamiseen Excel-laskentataulukoiksi, CSV- ja JSON-muotoisiksi tiedostoiksi ja käyttävät sitä analysointi- ja tietokantasovellusten tarkoituksiin.

Tabulan toteutus Pythonissa

Kun olemme keskustelleet hieman Tabulasta, ymmärtäkäämme sen toteutus Pythonissa.

Kirjaston asennus

Siitä asti kun table-py on Pythonin avoimen lähdekoodin kirjasto, käytämme pip asennusohjelma kirjaston asentamiseksi.

 $ pip install tabula-py 

Kirjaston tuonti

Kun asennus on valmis, voimme varmistaa sen tuomalla kirjaston alla olevan kuvan mukaisesti:

 import tabula 

Jos ohjelma palauttaa an tuontivirhe , on suositeltavaa asentaa paketti uudelleen.

The table-py kirjasto tarjoaa erilaisia ​​toimintoja, kuten PDF-tiedoston lukemisen, taulukon lukemisen PDF-tiedoston tietyllä sivulla, useiden taulukoiden lukemisen PDF-tiedoston samalla sivulla tai PDF-tiedostojen muuntamisen suoraan CSV-tiedostoksi.

Aloitetaan lukemalla PDF-tiedosto

lajiteltu arraylist java

PDF-tiedoston lukeminen

The table-py kirjasto antaa käyttäjilleen mahdollisuuden lukea PDF-tiedostoja käyttämällä toimintoa, joka tunnetaan nimellä lue_pdf() toiminto.

Syntaksi:

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

Parametrit:

Tiedoston nimi: The Tiedoston nimi parametri on pdf-tiedoston nimi; haluaisimme lukea tiedot.

Muunnetaan seuraava pdf-tietotaulukko panda-tietokehykseksi.

Tiedoston nimi: marksheet_table.py

Sivu 1

Nimi Englanti Fysiikka Kemia Biologia Kaikki yhteensä
A 86 54 65 83 288
B 56 Neljä viisi 80 55 236
C 3. 4 66 73 90 263
D 77 75 46 3. 4 232
JA 74 82 55 77 288
F 69 76 82 46 273
G 53 33 29 Neljä viisi 160
H 70 41 67 23 201
minä 80 43 88 28 239
J 90 37 Neljä viisi 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
K Neljä viisi 87 80 Neljä viisi 257
R 44 66 49 78 237
S 78 39 78 80 275
T 56 54 76 86 273
SISÄÄN 43 90 64 77 274
SISÄÄN 95 88 66 55 304
SISÄÄN 64 67 86 80 297
X 82 56 Neljä viisi 65 248
JA 79 65 70 54 268
KANSSA 83 54 40 75 252

Alla on esimerkki, joka osoittaa, kuinka tiedot puretaan pdf-tiedostosta.

Esimerkki:

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

Lähtö:

 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 

Selitys:

Yllä olevassa esimerkissä olemme tuoneet vaaditun kirjaston ja määrittäneet muuttujan, joka tallentaa pdf-datatiedoston osoitteen. Olemme sitten käyttäneet lue_pdf() toiminto lukea tiedot pdf-tiedostosta ja tulostaa ne käyttäjille. Tämän seurauksena datataulukko on luettu onnistuneesti.

Huomautus: Olemme käyttäneet sivuja parametri read_pdf()-funktiossa lukemaan tiedot määritetyiltä sivuilta.

Tarkastellaan toista esimerkkiä taulukoiden tulostamisesta tietystä sivusta, sanotaan sivunumero 2.

Esimerkki:

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

Lähtö:

 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 

Selitys:

Yllä olevassa esimerkissä olemme noudattaneet samaa menettelyä kuin aiemmin. Olemme kuitenkin antaneet sivuja parametri 2:ksi ja tulostaa määritetyn sivun ensimmäisen taulukon. Tämän seurauksena sivun 2 indeksin nollataulukko on tulostettu onnistuneesti.

Ymmärrämme nyt, mitä tapahtuu, kun PDF-datatiedoston samalla sivulla on useampi kuin yksi taulukko.

mikä on hakemiston lähettäminen

Useiden taulukoiden käsittely PDF-tiedoston samalla sivulla

Voimme käsitellä useampaa kuin yhtä taulukkoa samalla käyttämällä lisäparametria, joka tunnetaan nimellä useat_taulukot. The useat_taulukot parametri ottaa Boolen arvon, jolle lue_pdf() funktio lukee useita taulukoita itsenäisinä taulukoina, jos tosi, tai lukee useita taulukoita yhtenä taulukkona, jos epätosi.

Tarkastellaan seuraavaa esimerkkiä, joka osoittaa, kuinka useita taulukoita luetaan itsenäisinä taulukoina.

Esimerkki:

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

Lähtö:

 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 

Selitys:

Seuraavassa esimerkissä olemme jälleen tuoneet vaaditun kirjaston ja määrittäneet muuttujan, joka tallentaa PDF-tiedoston osoitteen. Olemme sitten käyttäneet lue_pdf() toiminto ja mukana useat_taulukot asettamalla sen Totta . Tämän jälkeen olemme tulostaneet PDF-tiedoston sivulla 2 olevat useat taulukot erikseen.

Tarkastellaan nyt esimerkkiä ymmärtääksemme kuinka lukea useita taulukoita yhtenä taulukkona.

Esimerkki:

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

Lähtö:

 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 

Selitys:

Seuraavassa esimerkissä olemme nyt määrittäneet useat_taulukot parametrille Väärä . Tämän seurauksena sivulla 2 olevia taulukoita käsitellään yhtenä taulukkona.

PDF-tiedoston muuntaminen suoraan CSV-tiedostoksi

Voimme muuntaa taulukkotietoja sisältävän PDF-tiedoston suoraan CSV-tiedostoksi muuntaa() menetelmässä tabula kirjasto.

python on numeerinen

Syntaksi:

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

Tarkastellaan seuraavaa esimerkkiä, joka havainnollistaa PDF-tiedoston muuntamista CSV-tiedostoksi.

Esimerkki:

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

Lähtö:

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

Selitys:

Yllä olevassa esimerkissä olemme jälleen tuoneet vaaditun kirjaston ja määrittäneet muuttujan, joka sisältää PDF-tiedoston osoitteen. Olemme sitten käyttäneet muuntaa() menetelmällä muuntaa PDF-tiedoston CSV-tiedostoksi ja tulostaa onnistumisviestin.

Lisäksi voimme myös havaita, että ohjelma palautti lausunnon, jonka mukaan 'sivut' argumenttia ei ole määritetty. Siten sivulla 1 oleva taulukko puretaan oletusarvoisesti.