/
partamonova
/
test
Обзор
Документация
Войти
/
partamonova
/
test
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
dz5/Ftask2.py
58 строк
2 KB
Polina Artamonova
Функции
14 июл 2026, 13:46
14 июл 2026, 13:46
67ead68
Код
Авторство
О чём код?
# -*- coding: cp1251 -*- import pandas as pd import sys geo_data = { '�����': ['������', '����', '���������'], '������-�����': ['���������', '�����', '��������'], '������� ������': ['�����������', '�������', '���������'] } def get_region(keyword): if not isinstance(keyword, str): return 'undefined' kw_lower = keyword.lower() for region, cities in geo_data.items(): for city in cities: if city in kw_lower: return region return 'undefined' def read_csv_with_encoding(filename): encodings = ['utf-8', 'cp1251', 'cp866', 'koi8-r', 'utf-8-sig'] for enc in encodings: try: df = pd.read_csv(filename, encoding=enc) print(f"��������� � ����������: {enc}") return df except: continue raise ValueError("�� ������� ��������� ����") def main(): filename = 'keywords.csv' try: df = read_csv_with_encoding(filename) except Exception as e: print(f"������: {e}") sys.exit(1) if 'keyword' in df.columns: kw_col = 'keyword' else: kw_col = df.columns[0] print(f"������� 'keyword' �� ������, ���������� '{kw_col}'") df['region'] = df[kw_col].apply(get_region) print("\n��������� (������ 10):") print(df[[kw_col, 'region']].head(10)) print("\n���������� �� ��������:") print(df['region'].value_counts()) df.to_csv('keywords_with_region.csv', index=False, encoding='utf-8-sig') print("\n��������� �������� � 'keywords_with_region.csv'") if __name__ == "__main__": main()