Detección de delimitador en texto usando detect_delimiter en Python

A veces, mientras trabajamos con un gran corpus de texto, podemos tener un problema en el que tratamos de encontrar qué carácter está actuando como delimitador. Esta puede ser una utilidad interesante y útil al trabajar con una gran cantidad de datos y juzgar el delimitador. En este artículo se analiza una manera de resolver este problema utilizando la biblioteca de Python de detect_delimiter.

Instalación

Para instalar este módulo, escriba el siguiente comando en la terminal.

pip instalar detectar_delimitador

El primer paso es verificar la presencia de todos los caracteres de la lista blanca en el texto de entrada; si se encuentran, esos caracteres se cuentan para la mayoría de las frecuencias y se devuelve un máximo de uno, ignorando todos los de la lista negra, si se proporcionan. Si no hay ningún delimitador de la lista blanca, los caracteres que evitan los caracteres de la lista negra se calculan con la frecuencia máxima; si se encuentran, ese carácter se devuelve como delimitador. Si aún no se encuentra el delimitador, se devuelve el valor predeterminado como delimitador si se proporciona; de lo contrario, se devuelve Ninguno. 

Sintaxis: detect(text:str, text:str, default=Ninguno, whitelist=[‘,’, ‘;’, ‘:’, ‘|’, ‘\t’], blacklist=Ninguno)
text : La string de entrada para probar el delimitador.
predeterminado :   el valor predeterminado para la salida en caso de que no se encuentre un delimitador válido.
lista blanca : el primer conjunto de caracteres que se comprobará en busca de delimitadores; si se encuentran, se tratan como delimitadores. Útil en los casos en que uno sabe de qué delimitadores son posibles. El valor predeterminado es [‘,’, ‘;’, ‘:’, ‘|’, ‘\t’].
lista negra: de forma predeterminada, todos los dígitos, alfabetos y punto final no se consideran como lista negra. En caso de que se necesite evitar que se etiqueten más valores como delimitadores, estos se evitarán en la verificación. 

Ejemplo 1: Trabajando con detect() y default

En esto, se muestran algunos ejemplos de detección de delimitadores junto con el uso predeterminado. 

Python3

from detect_delimiter import detect
 
# simple example
print("The found delimiter [base example] : ")
print(detect("Geeksforgeeks-is-best-for-geeks"))
 
# simple example without default and no delimiter
# . is not considered as delim
print("The found delimiter [no default] : ")
print(detect("Geeksforgeeks.is.best.for.geeks"))
 
# simple example with default
# . is not considered as delim
# No delim is found, hence, default is printed
print("The found delimiter [with default] : ")
print(detect("Geeksforgeeks.is.best.for.geeks", default='@'))

Producción : 

Trabajando con detect() y default

Ejemplo 2: uso de parámetros de lista negra y lista blanca

Proporcionar un parámetro de lista blanca prioriza cualquier delimitador en particular incluso si su frecuencia es menor que el delimitador no incluido en la lista blanca. El parámetro de lista negra puede ayudar a ignorar cualquier delimitador.

Python3

from detect_delimiter import detect
from string import ascii_letters
 
# simple example
# check for , as whitelist picked from default
# - [',', ';', ':', '|', '\t']
print("The found delimiter [default whitelist] : ")
print(detect("Geeksforgeeks$is-best,for-geeks"))
 
# simple example with whitelist
# ! prioritized
print("The found delimiter [provided whitelist] : ")
print(detect("Geeksforgeeks-is-best-for!geeks",
             whitelist=['@', "!"]))
 
# simple example with blacklist
# default blacklist overridden
print("The found delimiter [provided blacklist] : ")
print(detect("Geeksforgeeks-is-best-for!geeks",
             blacklist=['@', "-", 'e']))

Producción : 

Ejemplos con parámetros de lista negra y lista blanca.

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *