Extraire le tableau des fichiers image avec OneDrive et Python

Je veux extraire le tableau de l'image

Vous souhaiterez peut-être extraire la ** table dans le fichier image ** en tant que données de table.

Par exemple, «numérisez un livre papier ou un document et numérisez-le sous forme de fichier image ou PDF».

(PDF_original.png

La table dans ceci n'est pas traitée par l'OCR ** juste une image **, elle n'est donc pas reconnue comme un caractère, encore moins comme une table.

Par conséquent, bien sûr, elles ne peuvent pas être traitées comme des données de table telles quelles. Alors, n'y a-t-il pas d'autre choix que d'abandonner et de tabuler régulièrement les données? Non, ** n'abandonnez pas! ** **

Comment extraire des données de table à partir d'une image

En fait, même à partir de telles images (jpg, png, pdf, etc.), le tableau peut être extrait sous forme de données à l'étape suivante.

Préparation. Créez un compte sur Microsoft OneDrive (gratuit) 0. Convertissez les fichiers image (jpg, png, etc.) en fichiers pdf (cette étape n'est pas nécessaire pour les PDF depuis le début)

  1. Enregistrez le fichier PDF sur OneDrive, convertissez-le en Word et appliquez le traitement OCR
  2. Enregistrer Word traité par OCR au format PDF
  3. Extraire le tableau au format PDF avec Python

J'utiliserai Word en cours de route, mais j'utiliserai Office Online gratuit pour que vous n'ayez pas besoin d'installer Microsoft Word sur votre PC.

Ensuite, cette fois, je vais vous expliquer en utilisant le fichier PDF de ↓. (PDF_original.png

Si vous souhaitez extraire un tableau d'un fichier image (jpg, png, etc.), convertissez-le d'abord en fichier PDF. Il existe également un service Web gratuit qui convertit les fichiers image en PDF, mais le plus simple est [Cliquez avec le bouton droit sur le fichier image-> Imprimer-> Sélectionnez "Microcoft Print to PDF" dans l'imprimante à imprimer].

Préparation. Créer un compte avec OneDrive

Enregistrez votre compte sur Microsoft OneDrive. Gratuit.

[Obtenez un compte Microsoft] (https://www.microsoft.com/ja-jp/office/homeuse/onedrive-guide.aspx)

1. Enregistrez le fichier PDF sur OneDrive

Téléchargez le fichier PDF cible sur OneDrive. onedrive_upload.png

Cliquez avec le bouton droit sur le fichier et sélectionnez Ouvrir. onedrive_open.png

À ce stade, si vous essayez de sélectionner autour du tableau, vous pouvez sélectionner les caractères sous forme de texte. La structure de la table est également reconnue.

Appuyez sur le bouton "Modifier avec l'application de bureau". Ensuite, il vous sera demandé si vous souhaitez convertir le fichier, alors appuyez sur le bouton "Convertir".

onedrive_edit.png

Ensuite, la conversion aura lieu. Lorsque la conversion est terminée, un écran de confirmation apparaîtra, alors appuyez sur "Modifier". onedrive_edit_comp.png

Cela ouvrira Word sur votre navigateur. Il est correctement converti en données de table. onedrive_word.png

Il peut y avoir des endroits où les caractères ne sont pas reconnus correctement, donc si vous pouvez le réparer à ce stade, corrigez-le manuellement. Dans ce cas, "Copier" peut être "Coby", mais la conversion est presque correcte. C'est tout à fait une précision de reconnaissance!

2. Enregistrer le mot OCR traité au format PDF

Les fichiers PDF sont plus faciles à gérer en Python que les fichiers Word, alors convertissez-les en PDF et téléchargez-les.

Sélectionnez "Fichier" en haut à gauche et sélectionnez Enregistrer sous → Télécharger au format PDF. onedrive_word_download_as_pdf.png

3. Extrayez le tableau en PDF avec Python

Ouvrons le fichier PDF téléchargé. Contrairement au PDF d'origine, le tableau est correctement reconnu comme un tableau. C'est mal de voir la police parce qu'elle est grande ou petite, mais ne vous inquiétez pas car elle sera extraite en tant que DataFrame de pandas.

PDF_ocr.png

D'ailleurs, quand on arrive à ce point, le reste est une simple table utilisant Python par la méthode introduite dans l'article "Extraire le tableau en PDF avec Python". Peut être extrait.

python


import pandas as pd
import tabula
 
# lattice=True pour déterminer la cellule par l'axe du tableau
dfs = tabula.read_pdf("PDF_ocr.pdf", lattice=True, pages='1')
for df in dfs:
    display(df)

Résultat d'exécution PDF_ocr_df.png

Recommended Posts

Extraire le tableau des fichiers image avec OneDrive et Python
[Automation] Extraire le tableau en PDF avec Python
Tri des fichiers image avec Python (2)
Tri des fichiers image avec Python (3)
Tri des fichiers image avec Python
Extraire le fichier xz avec python
J'ai essayé de trouver l'entropie de l'image avec python
[Python] Lecture facile des fichiers image du numéro de série avec OpenCV
Bases du traitement d'images binarisées par Python
Vérifier l'existence du fichier avec python
Télécharger des fichiers sur le Web avec Python
Dessin avec Matrix-Reinventor of Python Image Processing-
Comment couper la partie inférieure droite de l'image avec Python OpenCV
Essayez d'imaginer les données d'élévation du National Land Research Institute avec Python
J'ai essayé de "lisser" l'image avec Python + OpenCV
[Python] Récupérez les fichiers dans le dossier avec Python
Préparer l'environnement d'exécution de Python3 avec Docker
Mathématiques Todai 2016 résolues avec Python
J'ai essayé de "différencier" l'image avec Python + OpenCV
[Note] Exportez le html du site avec python.
Calculez le nombre total de combinaisons avec python
Vérifiez la date du devoir de drapeau avec Python
Traitement d'image? L'histoire du démarrage de Python pour
J'ai essayé de "binariser" l'image avec Python + OpenCV
Automatiser des tâches simples avec Python Table des matières
Convertir le code de caractère du fichier avec Python3
[Python] Déterminez le type d'iris avec SVM
[Python + OpenCV] Peignez la partie transparente de l'image en blanc
le zen de Python
Traitement d'image avec Python
Extraire la couleur de l'objet dans l'image avec le clustering Mask R-CNN et K-Means
Comment obtenir une liste de fichiers dans le même répertoire avec python
Traitement d'image par matrice Basics & Contents-Reinventor of Python image processing-
Apprenez Nim avec Python (dès le début de l'année).
Connaissez l'emplacement du fichier de définition de classe Python.
[Python] Obtenez les nombres dans l'image graphique avec OCR
Détruire l'expression intermédiaire de la méthode sweep avec Python
[OpenCV / Python] J'ai essayé l'analyse d'image de cellules avec OpenCV
Visualisez la gamme d'insertions internes et externes avec python
Convertissez l'image au format .zip en PDF avec Python
Calculer le coefficient de régression d'une analyse de régression simple avec python
Extraire des fichiers du stockage EC2 avec la commande scp
Création de "Web Tools" BINGO avec Python (Table of Contents)
Résumé du flux de base de l'apprentissage automatique avec Python
[Python] Comment réécrire le style de table avec python-pptx [python-pptx]
Obtenez l'état de fonctionnement de JR West avec Python
Extraire des images et des tableaux de pdf avec python pour réduire la charge de reporting
Vers la retraite de Python2
Édition d'image avec python OpenCV
Trier de gros fichiers avec python
Traitement d'image avec Python (partie 1)
Tweet avec image en Python
Intégrez des fichiers PDF avec Python
Traitement d'image avec Python (3)
Lire des fichiers .txt avec Python
Appelez l'API avec python3.
À propos des fonctionnalités de Python