Lectura

Código, funciones y clases relacionadas a la carga y lectura de diferentes tipos de archivo (word, txt, rtf, pdf, png, jpg inicialmente).

class lectura.Lector(ubicacion_archivo)

Bases: object

Constructor por defecto de la clase Lector. Esta clase se encarga de extraer el texto de archivos de distintos tipos como Word, PDF, CSV, TXT, RTF e imágenes.

Parámetros

ubicacion_archivo (str) – Ruta del archivo que se desea leer.

archivo_a_texto(tipo='inferir', extraer_medios=False, dir_medios='temp/img_dir/', por_paginas=False, encoding='utf-8', ocr=False, preprocesamiento=3, lenguaje='es', oem=2, psm=3, password=None, enderezar=False)

Lee el texto de un archivo y permite escoger el tipo de archivo, si es por páginas, la codificación, si se utiliza OCR, el tipo de preprocesamiento, entre otros.

Parámetros
  • tipo ({'inferir', 'txt', 'csv', 'pdf', 'rtf', 'doc', 'docx', 'png', 'jpg', 'jpeg'}, opcional) – Se define el tipo (o extensión) del archivo que se desea leer. Valor por defecto “inferir”.

  • extraer_medios (bool, opcional) – Especifica si se desean extraer las imágenes dentro del archivo de Word para ser guardadas como archivos de imágenes. Funciona únicamente para archivos *.docx y si el parámetro por_paginas = False. Valor por defecto False.

  • dir_medios (str, opcional) – Ruta de la carpeta donde se guardan las imágenes del archivo Word cuyas imágenes se extrajeron (si especificó extraer_medios = True). Valor por defecto “temp/img_dir/”.

  • por_paginas (bool, opcional) – Especifica si se desea extraer el texto del archivo con separador de páginas. Este separador se encuentra como “|**|” dentro del texto extraído. Valor por defecto False.

  • encoding (str, opcional) – Especifica la codificación del texto que se desea leer. Valor por defecto “utf-8”.

  • ocr (bool, opcional) – Especifica si se desea utilizar reconocimiento óptico de caracteres (OCR) sobre el archivo. Se utiliza usualmente cuando el archivo es una imagen o documento escaneado. Valor por defecto False.

  • preprocesamiento ({1, 2, 3, 4, 5}, opcional) – Especifica el nivel de preprocesamiento que se lleva a cabo antes de extraer el texto del archivo. Aplica cuando ocr = True. Las opciones son las siguientes:

    • 1: se convierte la imagen a escala de grises.
    • 2: se convierte la imagen a escala de grises y se aplica blurring.
    • 3: se convierte la imagen a escala de grises y se aplica el umbral de imagen con el método de OTSU.
    • 4: se convierte la imagen a escala de grises y se aplica el umbral adaptativo.
    • 5: se convierte la imagen a escala de grises, se aplica el umbral de imagen con el método de OTSU, blurring y umbral adaptativo.
    Valor por defecto 1.

  • lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del texto que se desea extraer. Aplica cuando ocr = True. Para mayor información, consultar la sección de Lenguajes soportados. Valor por defecto “es”.

  • oem – (int) Valor por defecto: 2. OEM hace referencia al modo del motor OCR (OCR engine mode en inglés). Para mayor información, consultar la sección de OCR.

  • psm – (int) Valor por defecto: 3. PSM hace referencia a los modos de segmentación de las páginas (page segmentation modes, en inglés) de la librería Pytesseract. Para mayor información, consultar la sección de OCR.

  • password – (str) Valor por defecto: None. Contraseña del archivo cuyo texto se desea extraer, en caso de requerirlo.

  • enderezar – (bool) {True, False} Valor por defecto: False. Permite enderezar texto torcido en la imagen para obtener mejores resultados durante el proceso de extracción de texto. Este parámetro solo se utiliza cuando se aplica OCR y el parámetro preprocesamiento está entre 1 y 5.

Devuelve

(str) Texto extraído del archivo con la clase Lector.

establecer_ubicacion(ubicacion_archivo)

Define la ubicación del archivo que se desea leer.

Parámetros

ubicacion_archivo (str) – Ruta del archivo que se desea leer.

leer_imagen(preprocesamiento=1, lenguaje='es', oem=2, psm=3, enderezar=False)

Lectura de texto de archivos de tipo imagen, con extensión png, jpg o jpeg.

Parámetros
  • preprocesamiento ({1, 2, 3, 4, 5}, opcional) – Especifica el nivel de preprocesamiento que se lleva a cabo antes de extraer el texto del archivo. Aplica cuando ocr = True. Las opciones son las siguientes:

    • 1: se convierte la imagen a escala de grises.
    • 2: se convierte la imagen a escala de grises y se aplica blurring.
    • 3: se convierte la imagen a escala de grises y se aplica el umbral de imagen con el método de OTSU.
    • 4: se convierte la imagen a escala de grises y se aplica el umbral adaptativo.
    • 5: se convierte la imagen a escala de grises, se aplica el umbral de imagen con el método de OTSU, blurring y umbral adaptativo.
    Valor por defecto 1.

  • lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del texto que se desea extraer. Aplica cuando ocr = True. Para mayor información, consultar la sección de Lenguajes soportados. Valor por defecto “es”.

  • oem ({0, 1, 2, 3}, opcional) – modo del motor OCR (OCR Engine mode en inglés). Para mayor información, consultar la sección de OCR. Valor por defecto 2.

  • psm ({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, opcional) – Modo de segmentación de las páginas (page segmentation modes, en inglés) de la librería Pytesseract. Para mayor información consultar la sección de OCR. Valor por defecto 3.

  • enderezar (bool, opcional) – Permite enderezar el texto en la imagen para obtener mejores resultados durante el proceso de extracción de texto, solo si ocr = True y preprocesamiento este entre 1 y 5. Valor por defecto False.

Devuelve

(str) Texto del archivo tipo imagen leído con la clase Lector.

leer_pdf(por_paginas=False, ocr=False, preprocesamiento=3, lenguaje='es', oem=2, psm=3, password=None, enderezar=False)

Lectura de texto de archivos con extensión .pdf.

Parámetros
  • por_paginas (bool, opcional) – Especifica si se desea extraer el texto del archivo pdf con separador de páginas. Este separador se encuentra como “|**|” dentro del texto extraído. Valor por defecto False.

  • ocr (bool, opcional) – Especifica si se desea utilizar reconocimiento óptico de caracteres (OCR) sobre el archivo pdf. Se utiliza usualmente cuando el archivo es una imagen o documento escaneado. Valor por defecto False.

  • preprocesamiento ({1, 2, 3, 4, 5}, opcional) – Especifica el nivel de preprocesamiento que se lleva a cabo antes de extraer el texto del archivo. Aplica cuando ocr = True. Las opciones son las siguientes:

    • 1: se convierte la imagen a escala de grises.
    • 2: se convierte la imagen a escala de grises y se aplica blurring.
    • 3: se convierte la imagen a escala de grises y se aplica el umbral de imagen con el método de OTSU.
    • 4: se convierte la imagen a escala de grises y se aplica el umbral adaptativo.
    • 5: se convierte la imagen a escala de grises, se aplica el umbral de imagen con el método de OTSU, blurring y umbral adaptativo.
    Valor por defecto 3.

  • lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del texto que se desea extraer. Aplica cuando ocr = True. Para mayor información, consultar la sección de Lenguajes soportados. Valor por defecto “es”.

  • oem ({0, 1, 2, 3}, opcional) – modo del motor OCR (OCR Engine mode en inglés). Para mayor información, consultar la sección de OCR. Valor por defecto 2.

  • psm ({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, opcional) – Modo de segmentación de las páginas (page segmentation modes, en inglés) de la librería Pytesseract. Para mayor información consultar la sección de OCR. Valor por defecto 3.

  • password (str, opcional) – Contraseña del documento PDF que se quiere leer, en caso de que se necesite. Valor por defecto None.

  • enderezar (bool, opcional) – Permite enderezar el texto en la imagen para obtener mejores resultados durante el proceso de extracción de texto, solo si ocr = True y preprocesamiento este entre 1 y 5. Valor por defecto False.

Devuelve

(str) Texto del archivo “.pdf” leído con la clase Lector.

leer_rtf()

Lectura de texto de archivos con extensión .rtf.

Devuelve

(str) Texto del archivo “.rtf” leído con la clase Lector.

leer_txt(encoding='utf-8')

Se lleva a cabo la lectura del texto de archivos con extensión .txt.

Parámetros

encoding (str, opcional) – Especifica la codificación del texto que se desea leer. Valor por defecto “utf-8”.

Devuelve

(str) Texto del archivo .txt leído con la clase Lector.

leer_word(por_paginas=False, extraer_medios=False, dir_medios=None)

Lectura de texto de archivos con extensión .docx o .doc.

Parámetros
  • por_paginas (bool, opcional) – Especifica si se desea extraer el texto del archivo Word con separador de páginas. Este separador se encuentra como “|**|” dentro del texto extraído. Valor por defecto False.

  • extraer_medios (bool, opcional) – Especifica si se desean extraer las imágenes dentro del archivo de Word para ser guardadase como archivos de imágenes. Funciona únicamente para archivos *.docx y si el parámetro por_paginas = False. Valor por defecto False.

  • dir_medios (str, opcional) – Ruta de la carpeta donde se guardan las imágenes del archivo Word cuyas imágenes se extrajeron (si especificó extraer_medios = True). Valor por defecto None.

Devuelve

Texto del archivo “.docx” o “.doc” leído con la clase Lector.

lectura.leer_texto(ubicacion_archivo, tipo='inferir', extraer_medios=False, dir_medios='temp/img_dir/', por_paginas=False, encoding='utf-8', ocr=False, preprocesamiento=3, lenguaje='spa', oem=2, psm=3, password=None, enderezar=False)

Función que se encarga de extraer el texto de un archivo. Permite especificar la ruta del archivo, escoger el tipo, si es por páginas, la codificación, si se utiliza OCR, el tipo de preprocesamiento, entre otros.

Parámetros
  • ubicacion_archivo – (str) Ruta del archivo que se desea leer.

  • tipo ({'inferir', 'txt', 'csv', 'pdf', 'rtf', 'doc', 'docx', 'png', 'jpg', 'jpeg'}, opcional) – Se define el tipo (o extensión) del archivo que se desea leer. Valor por defecto: “inferir”.

  • extraer_medios (bool, opcional) – Especifica si se desean extraer las imágenes dentro del archivo de Word para ser guardadas aparte como archivos de imágenes. Funciona únicamente para archivos “.docx” (no “.doc”) y si el parámetro “por_paginas” es False. Valor por defecto False.

  • dir_medios (str, opcional) – Ruta de la carpeta donde se guardan las imágenes del archivo Word cuyas imágenes se extrajeron (si extraer_medios = True). Valor por defecto “temp/img_dir/”.

  • por_paginas (bool, opcional) – Se define si se desea extraer el texto por páginas. Valor por defecto False.

  • la codificación del texto que se desea leer. Valor por defecto (encoding:Especifica) – “utf-8”.

  • ocr (bool, opcional) – Especifica si se desea utilizar reconocimiento óptico de caracteres sobre el texto se quiere extraer. Se utiliza usualmente cuando el archivo es una imagen o documento escaneado. Valor por defecto False.

  • preprocesamiento ({1,2,3,4,5}, opcional) – Especifica el nivel de preprocesamiento que se lleva a cabo antes de extraer el texto del archivo. Aplica cuando se utiliza reconocimiento óptico de caracteres ( ocr = True). Las opciones son las siguientes:

    • 1: se convierte la imagen a escala de grises.
    • 2: se convierte la imagen a escala de grises y se aplica blurring.
    • 3: se convierte la imagen a escala de grises y se aplica el umbral de imagen con el método de OTSU.
    • 4: se convierte la imagen a escala de grises y se aplica umbral adaptativo.
    • 5: se convierte la imagen a escala de grises, se aplica umbral de imagen con el método de OTSU, blurring y umbral adaptativo.
    Valor por defecto 3.

  • lenguaje ({'es', 'en', 'fr', 'ge'}, opcional) – Define el lenguaje del texto que se desea extraer. Aplica cuando ocr = True. Para mayor información, consultar la sección de Lenguajes soportados. Valor por defecto “es”.

  • oem ({0, 1, 2, 3}, opcional) – modo del motor OCR (OCR Engine mode en inglés). Para mayor información, consultar la sección de OCR. Valor por defecto 2.

  • psm ({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, opcional) – Modo de segmentación de las páginas (page segmentation modes, en inglés) de la librería Pytesseract. Para mayor información consultar la sección de OCR. Valor por defecto 1.

  • password (str, opcional) – Contraseña del documento PDF que se quiere leer, en caso de que se necesite. Valor por defecto None.

  • enderezar (bool, opcional) – Permite enderezar el texto en la imagen para obtener mejores resultados durante el proceso de extracción de texto, solo si ocr = True y preprocesamiento este entre 1 y 5. Valor por defecto False.

Devuelve

(str) Texto extraído del archivo especificado con la función “leer_texto”.