Tabulky nejsou zjištěny s tabula a camelot

0

Otázka

Snažil jsem se extrahovat tabulky z Pdf souborů, které nejsou ve správném formátu, který myslím. Stoly v těchto Pdf má formát tabulky, ale nejsou uzavřené, správně s verical hranic. enter image description here Budu připojit ukázkové pdf a výstup s obou knihoven. Když jsem se snažil použít tabula pro stolní detekce, prázdné datadrame se vrátil na všechny stránky v pdf.

zadejte 0 pro jednotlivé stránky, 1 pro, 2 pro konkrétní strana: 2 zadejte číslo stránky: 25 žádné stoly nalézt na této stránce tím, že tabula.

A když jsem se použít camelot je stejný, žádné reakce, když jsem použít flovor='lattice'

zadejte 0 pro jednotlivé stránky, 1 u všech stránek, 2 stránky v tabulkách jsou detekovány tabula, 3 pro konkrétní stránky: 3 zadejte 0 pro mříž nebo 1 pro proud: 0 zadejte číslo stránky: 25 žádné stoly nalézt na této stránce camelot.

a když jsem se použít flovor='stream'Jsem si datovém že má každý řádek číst řádek po řádku s záložce oddělené dat, ale bude obsahovat běžný text, stejně v tom datovém.

zadejte 0 pro jednotlivé stránky, 1 u všech stránek, 2 stránky v tabulkách jsou detekovány tabula, 3 pro konkrétní stránky: 3 zadejte 0 pro mříž nebo 1 pro proud: 1 zadejte číslo stránky: 25 enter image description here

Jen jsem potřebovat efektivní způsob, jak zjistit, stůl a extrahovat stejná data, pokud svislých obvodových řádky tabulky nejsou přítomny. Oba tabula a camelot knihovny jsou v pořádku, pokud tabulka je ve správném formátu ohraničená svislé a vodorovné čáry.

nlp pdf python python-camelot
2021-11-22 15:08:39
2

Nejlepší odpověď

0

Tato metoda může pomoci: https://camelot-py.readthedocs.io/en/master/user/advanced.html#specify-column-separators

Můžete najít uveďte vertikální separátor na camelot předáním souřadnice x, nejprve byste měli použít ".plot()" metody v kamelotu viz tabulka uvnitř pdf a poznamenejte si souřadnice x, kde chcete, vertikální separátor být pak předat je jako níže:

# to get the x-coordinates
tables = camelot.read_pdf('your_pdf.pdf')
camelot.plot(tables[0], kind='text').show()

#to pass the x-coordinates
camelot.read_pdf('your_pdf.pdf', flavor='stream', columns=['x1,x2']) 
2021-11-22 15:52:19
-1

Tabulky nejsou zjištěny s tabula a camelot

Byl jsem v poslední době pracuje extrahovat tabulky z PDF.

Tabula a camelot didnt práce pro mě, ale pdfplumber mě dostal požadovaný výsledek.

import pdfplumber
pdf = pdfplumber.open(filepath)
table = pdf.pages[1].extract_table(table_settings=
{"vertical_strategy": "text", "horizontal_strategy": "text"})
df = pd.DataFrame(table, columns=table)
df.to_csv(outfile2, mode='a', index=False)
2021-11-27 11:30:02

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................