Консоль Spyder продолжает перезагружаться при работе с блоком кода RegEx - PullRequest
0 голосов
/ 06 августа 2020

Я готовлю код для идентификации столбцов в фрейме данных со словом «дата» в их именах. Я использую RegEx для сравнения подстрок, созданных из исходных имен с помощью функции re.split (). Это весь код:

import pandas as pd
import numpy as np
import re

df = pd.read_excel(r'C:\Users\rishi\Desktop\PGDBDA\Dataset\Dataset for Date Operations.xlsx')
#print(df)
# Dataset is loaded into Pandas dataframe

column_name = [names for names in df.columns]
#print(column_name)
# The column names are extracted into a list called column_name.
# We plan use a mechanism to identify the sub-string 'date' from the elements in column_name.

name_split = []
for index in column_name:
name_split.append(re.split(' |-|_',index))
#print(name_split)
# Using RegEx we are able to split the elements in the column name based on a set of dilimiters.
# We are grouping them in a list of lists nammed as name_split.  

column_index = []
column_count = 0
regex_pattern = re.compile(r"\bdate\b", re.IGNORECASE)

for index in name_split:
    for elements in index:
       if re.search(regex_pattern, elements) != None:
                    column_index.append(column_count)
                    exit()        
    column_count+=1        
print(column_index)
# Will tell us all the columns with 'date' in their names, by stating the index no of the column.

Проблема в том, что каждый раз, когда я запускаю эту часть кода:

column_index = []
column_count = 0
regex_pattern = re.compile(r"\bdate\b", re.IGNORECASE)

for index in name_split:
    for elements in index:
        if re.search(regex_pattern, elements) != None:
                   column_index.append(column_count)
                exit()        
column_count+=1        
print(column_index)
# Will tell us all the columns with 'date' in their names, by stating the index no of the column.

Консоль продолжает давать сбой и перезагружается. Мы будем очень благодарны за любое понимание этого вопроса.

...