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='spa', oem=2, psm=3, password=None, enderezar=False)

Se lleva a cabo la lectura del texto de un archivo y permite escoger el tipo, si es por páginas, la codificación, si se utiliza OCR, el tipo de preprocesamiento, entre otros.

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

  • extraer_medios – (bool) {True, False} Valor por defecto: False. 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.

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

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

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

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

  • preprocesamiento – (int) {1,2,3,4,5} Valor por defecto: 3. 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 (parámetro ocr es 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.

  • lenguaje – (str) Valor por defecto: “spa”. Aplica cuando se aplica OCR para extraer el texto de imágenes o archivos escaneados. Para mayor información, consultar la sección de Lenguajes soportados.

  • 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, lenguaje, oem, psm, enderezar=False)

Se lleva a cabo la lectura del texto de archivos de tipo imagen, con extensión “png”, “jpg” o “jpeg”.

Parámetros
  • preprocesamiento – (int) {1,2,3,4,5}. 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 (parámetro ocr es 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.

  • lenguaje – (str) Se define el lenguaje del texto que se desea extraer. Para mayor información, consultar la sección de Lenguajes soportados.

  • oem – (int) 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) 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.

  • 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 el parámetro preprocesamiento está entre 1 y 5.

Devuelve

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

leer_pdf(por_paginas, ocr, preprocesamiento, lenguaje, oem, psm, password=None, enderezar=False)

Se lleva a cabo la lectura del texto de archivos con extensión “.pdf”.

Parámetros
  • por_paginas – (bool) {True, False}. 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.

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

  • preprocesamiento – (int) {1,2,3,4,5}. 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 (parámetro ocr es 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.

  • lenguaje – (str) Se define el lenguaje del texto que se desea extraer. Aplica cuando se utilia reconocimiento óptico de caracteres (el parámetro ocr es True). Para mayor información, consultar la sección de Lenguajes soportados.

  • oem – (int) 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) 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 documento PDF que se quiere leer, en caso de que se necesite.

  • 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 (ocr=True) y el parámetro preprocesamiento está entre 1 y 5.

Devuelve

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

leer_rtf()

Se lleva a cabo la lectura del 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) Valor por defecto: “utf-8”. Especifica la codificación del texto que se desea leer.

Devuelve

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

leer_word(por_paginas, extraer_medios, dir_medios)

Se lleva a cabo la lectura del texto de archivos con extensión “.docx” o “.doc”.

Parámetros
  • por_paginas – (bool) {True, False}. 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.

  • extraer_medios – (bool) {True, False}. 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.

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

Devuelve

(str) 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 – (str) {“inferir”, “txt”, “csv”, “pdf”, “rtf”, “doc”, “docx”, “npg”, “jpg”, “jpeg”} Valor por defecto: “inferir”. Se define el tipo (o extensión) del archivo que se desea leer.

  • extraer_medios – (bool) {True, False} Valor por defecto: False. 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.

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

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

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

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

  • preprocesamiento – (int) {1,2,3,4,5} Valor por defecto: 3. 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 (parámetro ocr es 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.

  • lenguaje – (str) Valor por defecto: “spa”. Define el lenguaje del texto que se desea extraer. Aplica cuando se utiliza el OCR para extraer el texto de imágenes o archivos escaneados. Para mayor información, consultar la sección de Lenguajes soportados.

  • 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 especificado con la función “leer_texto”.