logo

Табле Питхон

Увод

Генерално, није неопходно да подаци које користимо буду доступни у ЦСВ или ЈСОН формату. Подаци се могу чувати у облику табеле у ПДФ датотеци. Као најједноставнији случај, можемо да копирамо и налепимо табелу у табелу или уређивач текста. Али такође може бити да можемо више од једне табеле у истом ПДФ-у који има сличне структуре. За такве случајеве морамо да копирамо и налепимо сваку од ових табела посебно, што чини посао заморним.

Међутим, да би прекинуо овај туробни посао, Питхон обезбеђује библиотеку отвореног кода, такође познату као табле-пи , што омогућава корисницима да јасно издвајају више од једне табеле. У следећем туторијалу научићемо о табулама и њиховим функцијама.

Шта је Табула?

Табулар је основни омотач табула-јава који омогућава корисницима да екстрахују табелу и конвертују ПДФ датотеку директно у оквире података или ЈСОН користећи Програмски језик Питхон . Корисник такође може да издвоји табеле из ПДФ-а и конвертује их у датотеке ТСВ, ЦСВ или ЈСОН формата.

Табула је алатка заснована на апликацији графичког корисничког интерфејса (ГУИ); Међутим, табле-јава је алатка заснована на корисничком интерфејсу командне линије (ЦУИ). табула-јава обезбеђује везе за Руби, Р и НодеЈС, али не и за Питхон. Тако су програмери увели концепт табле-пи који обезбеђује Питхон везивање.

Сада, хајде да разумемо ко користи Табулу и како можемо да је инсталирамо.

Ко користи Табулу?

Табула је моћно средство које користе новинске организације свих величина како би омогућиле истраживачко новинарство. Ове Новинске организације су Тхе Тимес оф Лондон, ПроПублица, Фореигн Полици, Тхе Нев Иорк Тимес, Ла Национ (Аргентина) и Ст. Паул (МН) Пионеер Пресс.

како претворити стринг у инт у Јави

Постоје локалне организације као што је СцхоолЦутс.орг које такође зависе од Табуле да би претвориле незграпне документе у јавне ресурсе прилагођене људима.

Осим горе наведеног, постоје истраживачи из других средина који користе Табула за претварање својих ПДФ извештаја у Екцел табеле, ЦСВ и датотеке у ЈСОН формату и користе је у сврху анализе и апликација за базе података.

Имплементација Табуле у Питхон-у

Када смо мало разговарали о Табули, хајде да разумемо њену имплементацију у Питхон-у.

Инсталација библиотеке

Од табле-пи је Питхон библиотека отвореног кода, ми ћемо користити пип инсталатер да бисте инсталирали библиотеку.

 $ pip install tabula-py 

Увоз библиотеке

Када се инсталација заврши, можемо је верификовати једноставним увозом библиотеке као што је приказано у наставку:

 import tabula 

У случају да програм врати ан грешка при увозу , препоручује се да поново инсталирате пакет.

Тхе табле-пи библиотека пружа различите функције као што су читање ПДФ датотеке, читање табеле на одређеној страници ПДФ датотеке, читање више табела на истој страници ПДФ датотеке или претварање ПДФ датотека директно у ЦСВ датотеку.

Почнимо са читањем ПДФ датотеке

Читање ПДФ датотеке

Тхе табле-пи библиотека омогућава својим корисницима да читају ПДФ датотеку користећи функцију познату као реад_пдф() функција.

Синтакса:

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

Параметри:

назив документа: Тхе назив документа параметар је назив пдф датотеке; желели бисмо да прочитамо податке из.

Хајде да конвертујемо следећу пдф табелу података у пандас Дата Фраме.

Име датотеке: марксхеет_табле.пи

Страна 1

Име енглески језик Стање хемија Биологија Укупно
А 86 54 65 83 288
Б 56 Четири, пет 80 55 236
Ц 3. 4 66 73 90 263
Д 77 75 46 3. 4 232
И 74 82 55 77 288
Ф 69 76 82 46 273
Г 53 33 29 Четири, пет 160
Х 70 41 67 23 201
И 80 43 88 28 239
Ј 90 37 Четири, пет 71 243
К 98 55 88 81 322
Л 90 54 67 37 248
М 87 76 88 54 305
Н 86 69 82 66 303
О 67 74 54 65 260
П 75 96 53 67 291
П Четири, пет 87 80 Четири, пет 257
Р 44 66 49 78 237
С 78 39 78 80 275
Т 56 54 76 86 273
ИН 43 90 64 77 274
ИН 95 88 66 55 304
ИН 64 67 86 80 297
Икс 82 56 Четири, пет 65 248
И 79 65 70 54 268
ВИТХ 83 54 40 75 252

Ево примера датог у наставку, који показује како да издвојите податке из пдф-а.

Пример:

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

Излаз:

 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 

Објашњење:

У горњем примеру, увезли смо потребну библиотеку и дефинисали променљиву која чува адресу пдф датотеке са подацима. Затим смо користили реад_пдф() функција за читање података из пдф-а и штампање за кориснике. Као резултат, табела података је успешно прочитана.

Напомена: Користили смо странице параметар у функцији реад_пдф() за читање података са наведених страница(а).

Хајде да размотримо још један пример за штампање табела са одређене странице, рецимо странице број 2.

Пример:

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

Излаз:

 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 

Објашњење:

У горњем примеру, следили смо исти поступак као и раније. Међутим, ми смо доделили странице параметар на 2 и штампао прву табелу наведене странице. Као резултат, табела индекса нула на страни 2 је успешно одштампана.

Сада, хајде да разумемо шта се дешава када постоји више од једне табеле на истој страници ПДФ датотеке са подацима.

јавасцрипт променљива глобална

Руковање више табела на истој страници ПДФ датотеке

Можемо да обрађујемо више од једне табеле на истој користећи додатни параметар познат као мултипле_таблес. Тхе мултипле_таблес параметар узима Булову вредност за коју је реад_пдф() функција чита више табела као независне табеле ако је тачно или чита више табела као једну табелу ако је нетачно.

Хајде да размотримо следећи пример који показује како читати више табела као независне табеле.

Пример:

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

Излаз:

 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 

Објашњење:

У следећем примеру, поново смо увезли потребну библиотеку и дефинисали променљиву која чува адресу ПДФ датотеке. Затим смо користили реад_пдф() функцију и укључио је мултипле_таблес параметар који га поставља на Истина . Затим смо одвојено одштампали више табела присутних на 2. страници ПДФ датотеке.

Сада, хајде да размотримо пример да разумемо како читати више табела као једну табелу.

Пример:

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

Излаз:

 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 

Објашњење:

У следећем примеру, сада смо поставили мултипле_таблес параметар за Фалсе . Као резултат тога, табеле присутне на страни 2 се третирају као једна табела.

Конвертовање ПДФ датотеке директно у ЦСВ датотеку

Можемо да конвертујемо ПДФ датотеку која садржи табеларне податке директно у ЦСВ датотеку уз помоћ претворити у() метода у табула библиотека.

Синтакса:

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

Хајде да размотримо следећи пример који илуструје конверзију ПДФ датотеке у ЦСВ датотеку.

Пример:

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

Излаз:

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

Објашњење:

У горњем примеру, поново смо увезли потребну библиотеку и дефинисали променљиву која садржи адресу ПДФ датотеке. Затим смо користили претворити у() метод за претварање ПДФ датотеке у ЦСВ датотеку и штампање поруке о успеху.

бројеви по азбуци

Штавише, такође можемо приметити да је програм вратио изјаву у којој се каже да је 'странице' аргумент није наведен. Тако ће табела присутна на страници 1 бити подразумевано издвојена.