¿Cómo extraer la columna de correo electrónico de un archivo de Excel y averiguar el tipo de correo usando Pandas?

En este artículo, veamos cómo extraer la columna de correo electrónico de un archivo de Excel y averiguar el tipo de correo usando Pandas. Supongamos que nuestro archivo de Excel se parece a la imagen dada a continuación, y luego tenemos que almacenar diferentes tipos de correos electrónicos en diferentes columnas de Dataframe. 

Para ver el archivo de Excel, haga clic aquí

Acercarse:

  • Importar módulo requerido.
  • Importar datos desde un archivo de Excel.
  • Cree una columna adicional para cada correo electrónico diferente.
  • Establezca cada índice requerido para la búsqueda.
  • Defina el patrón del correo electrónico.
  • Busque el correo electrónico y asigne a la columna respectiva en Dataframe.

Veamos la implementación paso a paso:

Paso 1: Importe el módulo requerido y lea los datos del archivo de Excel.

Python3

# import required module
import pandas as pd;
import re;
  
# Read excel file and store in to DataFrame
data = pd.read_excel("Email_sample.xlsx");
  
# show the dataframe
data

Producción:

Paso 2: haga una columna adicional para cada correo electrónico diferente.

Python3

data['Google-mail'] = None
  
data

Producción:

Python3

data['Yahoo-mail'] = None
data

Producción :

Paso 3: Configure cada índice requerido para la búsqueda.

Python3

# set required index 
index_set = data.columns.get_loc('E-mail')
index_gmail = data.columns.get_loc('Google-mail')
index_yahoo = data.columns.get_loc('Yahoo-mail')
  
print(index_set, index_gmail, 
      index_yahoo)

Producción:

1 2 3

Paso 4: Definición del patrón del correo electrónico.

Python3

# define pattern of Email
google_pattern = r'gmail.com'
yahoo_pattern = r'yahoo.com'

Paso 5: buscar el correo electrónico y asignarlo a la columna respectiva en el marco de datos.

Python3

# Search the Email in DataFrame and store  
for row in range(0, len(data)):
    
    if re.search(google_pattern,
                 data.iat[row, index_set]) == None :
        data.iat[row,index_gmail] = 'Account not belongs to Google'
          
    else:
        gmail = re.search(google_pattern,
                          data.iat[row, index_set]).group()
        data.iat[row,index_gmail] = "Google-Mail"
  
    if re.search(yahoo_pattern,
                 data.iat[row, index_set]) == None :
        data.iat[row,index_yahoo] = 'Account not belongs to Yahoo'
          
    else:
        yahoo = re.search(yahoo_pattern,
                          data.iat[row, index_set]).group()
        data.iat[row,index_yahoo] = "Yahoo-Mail"
          
data

Producción:

Código completo:

Python3

# importing required module
import pandas as pd
import re
  
# Creating df
# Reading data from Excel
data = pd.read_excel("Email_sample.xlsx")
print("Original DataFrame")
print(data)
  
# Create column for
# each type of Email
data['Google-mail'] = None
data['Yahoo-mail'] = None
  
# set index
index_set = data.columns.get_loc('E-mail')
index_gmail = data.columns.get_loc('Google-mail')
index_yahoo = data.columns.get_loc('Yahoo-mail')
  
# define Email pattern
google_pattern = r'gmail.com'
yahoo_pattern = r'yahoo.com'
  
# Searching the email
# Store into DataFrame
for row in range(0, len(data)):
    if re.search(google_pattern,
                 data.iat[row, index_set]) == None:
        data.iat[row, index_gmail] = 'Account not belongs to Google'
    else:
        gmail = re.search(google_pattern,
                          data.iat[row, index_set]).group()
        data.iat[row, index_gmail] = "Google-Mail"
  
    if re.search(yahoo_pattern,
                 data.iat[row, index_set]) == None:
        data.iat[row, index_yahoo] = 'Account not belongs to Yahoo'
    else:
        yahoo = re.search(yahoo_pattern,
                          data.iat[row, index_set]).group()
        data.iat[row, index_yahoo] = "Yahoo-Mail"
  
data

Producción :

Nota: antes de ejecutar este programa, asegúrese de haber instalado la biblioteca xlrd en su entorno de Python.

Publicación traducida automáticamente

Artículo escrito por kumar_satyam 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 *