J'ai besoin d'extraire des données de tables au format similaire à partir de ce fichier a >. Il y a des erreurs OCR mais j'ai une méthode automatisée pour les corriger.
J'ai essayé:
Le problème: Les outils de publicité sont très mauvais pour détecter les bords de la table. Les tableaux suivent un format général similaire, mais chaque balayage est aligné légèrement différemment afin que le codage en dur ne fonctionne pas non plus.
Question: Connaissez-vous un bon moyen de détecter le début du tableau, puis d'appliquer l'un des quelques modèles?
Tous les autres conseils pour ce type de travail sont grandement appréciés.
3 Réponses :
Il existe un outil en ligne gratuit ici https: //www.pdftron .com / pdf-tools / pdf-extraction-de-table /
Le blog associé https://www.pdftron.com/blog/parsing-extraction/table-extraction-and-pdf-to-xml-with-pdfgenie/ fait référence à l'outil de ligne de commande PDFGenie
Au lieu du paramètre table_areas de Camelot (qui spécifie des limites fixes), vous pouvez essayer d'utiliser le paramètre table_regions pour spécifier les régions où se trouvent probablement les tables (Camelot analysera uniquement les régions spécifiées pour rechercher des tables).
https: // camelot-py .readthedocs.io / fr / master / user / advanced.html # specify-table-regions
Veuillez nous tenir au courant.
MISE À JOUR 2/26: J'ai résolu ma propre question, mais n'hésitez pas à répondre avec des solutions rapides ou meilleures.
L'un des principaux problèmes est que les tableaux sont à peu près similaires dans leurs dimensions mais varient d'une page à l'autre. Les images numérisées sont également légèrement décalées d'une page à l'autre, ce qui pose deux problèmes d'alignement . Mon flux de travail actuel résout les deux et est le suivant.
< gagnantSolution:
Les images du même type de tableau ne sont toujours pas alignées, donc la spécification d'une disposition de tableau en coordonnées (x, y) ne fonctionnera pas. Les emplacements des tableaux sont différents dans chaque image.
J'avais besoin d'aligner les images en fonction de l'emplacement de la table, mais sans déjà détecter la table, il n'y avait pas de bon moyen de le faire.
J'ai résolu le problème d'une manière intéressante, mais j'ai d'abord essayé les étapes suivantes.
< gagnantSolution:
Après avoir découpé les images en tableaux expliqués dans la section Alignement du type de tableau, utilisez la fonction Alignement automatique des calques de Photoshop pour aligner les images.
Solution étape par étape:
C'est fait! Combinez les fichiers de chaque table comme vous le souhaitez. Je publierai mon code python pour faire cela lorsque j'aurai terminé le projet. Une fois nettoyées, je publierai aussi les données.