Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import csv
- import re
- from math import floor
- def formatter(old_dictionary: dict) -> dict:
- formatting_dictionary = {
- "experience_id": {
- "noExperience": "Нет опыта",
- "between1And3": "От 1 года до 3 лет",
- "between3And6": "От 3 до 6 лет",
- "moreThan6": "Более 6 лет" },
- "premium": {
- 'True': 'Да',
- 'False': 'Нет' },
- "salary_gross": {
- 'False': 'С вычетом налогов',
- 'True': 'Без вычета налогов' },
- "salary_currency": {
- "AZN": "Манаты",
- "BYR": "Белорусские рубли",
- "EUR": "Евро",
- "GEL": "Грузинский лари",
- "KGS": "Киргизский сом",
- "KZT": "Тенге",
- "RUR": "Рубли",
- "UAH": "Гривны",
- "USD": "Доллары",
- "UZS": "Узбекский сум" }
- }
- old_dictionary['salary_all'] = ''
- for key, value in old_dictionary.items():
- if key == 'key_skills':
- old_dictionary[key] = ", ".join(value)
- if key == 'experience_id':
- old_dictionary[key] = formatting_dictionary[key][value]
- if key == 'premium':
- old_dictionary[key] = formatting_dictionary[key][value]
- if key == 'salary_from':
- old_dictionary[key] = '{:,}'.format(floor(float(
- old_dictionary["salary_from"]))).replace(',', ' ')
- if key == 'salary_to':
- old_dictionary[key] = '{:,}'.format(floor(float(
- old_dictionary["salary_to"]))).replace(',', ' ')
- if key == 'salary_gross':
- old_dictionary[key] = formatting_dictionary[key][value]
- if key == 'salary_currency':
- old_dictionary['salary_all'] = f'{old_dictionary["salary_from"]} - ' \
- f'{old_dictionary["salary_to"]} ' \
- f'({formatting_dictionary[key][value]}) ' \
- f'({old_dictionary["salary_gross"]})'
- if key == 'published_at':
- old_dictionary[key] = '.'.join(reversed(value[0:10].split('-')))
- return old_dictionary
- def print_vacancies(dictionary: dict):
- print(f'Название: {dictionary["name"]}\n'
- f'Описание: {dictionary["description"]}\n'
- f'Навыки: {dictionary["key_skills"]}\n'
- f'Опыт работы: {dictionary["experience_id"]}\n'
- f'Премиум-вакансия: {dictionary["premium"]}\n'
- f'Компания: {dictionary["employer_name"]}\n'
- f'Оклад: {dictionary["salary_all"]}\n'
- f'Название региона: {dictionary["area_name"]}\n'
- f'Дата публикации вакансии: {dictionary["published_at"]}\n')
- def csv_filer(headlines: list, raw_list: list):
- index_key_skills = headlines.index('key_skills')
- html_tags = re.compile('<.*?>')
- for line in raw_list:
- try:
- line.remove('')
- except ValueError:
- pass
- for index in range(len(line)):
- if index != index_key_skills:
- line[index] = ' '.join(re.sub(html_tags, '', line[index])
- .strip().split())
- else:
- line[index] = list(map(lambda x: x.strip(), line[index].split('\n')))
- if len(line) == len(headlines):
- dictionary = {headlines[i]: line[i] for i in range(len(headlines))}
- print_vacancies(dictionary=formatter(dictionary))
- def csv_reader(csv_name: str):
- with open(csv_name, encoding='utf-8-sig') as file:
- file_reader = csv.reader(file, delimiter=',')
- csv_filer(headlines=next(file_reader), raw_list=list(file_reader))
- csv_file = input()
- csv_reader(csv_file)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement