Ошибка TypeError: expected string or bytes-like object

felis

Новичок
Пользователь
Ноя 12, 2023
1
0
1
Код:
def разделить_адрес(адрес):
    regexp_нп = r'(п\., пос\., пгт|поселок|село|деревня)\s+(\w+)'
    regexp_улица = r'улица\s+(\w+)'
    regexp_дом = r'дом\s+(\d+)'
    regexp_строение = r'(строение|корпус)\s+(\d+)'

    # Применим регулярные выражения к адресу
    match_нп = re.search(regexp_нп, адрес)
    match_улица = re.search(regexp_улица, адрес)
    match_дом = re.search(regexp_дом, адрес)
    match_строение = re.search(regexp_строение, адрес)

      # Извлечем данные из совпадений
    if match_нп:
        нп = match_нп.group(2)
    else:
        нп = '-'
   
    if match_улица:
        улица = match_улица.group(1)
    else:
        улица = '-'
   
    if match_дом:
        дом = 'дом' + match_дом.group(1)
    else:
        дом = '-'
   
    if match_строение:
        строение = match_строение.group(1) + ' ' + match_строение.group(2)
    else:
        строение = '-'

    # Вернем собранные данные в желаемом формате
    return f'{нп}, {улица}, {дом}, {строение}'

адрес = "Тюменская область, Тюменский муниципальный район, Московское муниципальное образование, посёлок Московский, улица Озерная, 2 строение 2, Гараж"
результат = разделить_адрес(адрес)
print(результат)

# Применяем функцию к столбцу с адресами
df['разделить_адрес'] = df.iloc[:, 2].apply(разделить_адрес)

# Создаем новый DataFrame с разделенными адресами
new_df = df['разделить_адрес'].apply(lambda x: pd.Series(x))

# Записываем новый DataFrame в файл
new_file_path = 'D//новый_файл_с_адресами.xlsx'
new_df.to_excel(new_file_path, index=False)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 599
464
83
полный трейсбек, пожалуйста

переменные на кириллице - это сильно...
вы не 1сник?

new_file_path = 'D//новый_файл_с_адресами.xlsx' - странный путь...
 

Форум IT Специалистов