Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
Eseeldur authored Mar 29, 2021
1 parent 94f6458 commit 08625ca
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 0 deletions.
4 changes: 4 additions & 0 deletions input.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Улица,Дом,Активность
пр-кт Ломоносовский,15,да
ул Азовская,11,да
ул Генерала Трошева,24,нет
52 changes: 52 additions & 0 deletions main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
"""
У Вас есть база улиц, по которым нужно совершить рассылку рекламных буклетов. Вам нужно написать код,
который сможет сформировать файл с активными улицами так, чтобы почтальону не приходилось повторно
возвращаться на какую-либо улицу из списка.
Пример списка для рассылки рекламных буклетов:
Улица,Дом,Активный
пр-кт Ломоносовский,15,да
ул Азовская,11,да
пр-кт Ленинградский,29,да
ул Генерала Трошева,24,нет
ул Фёдора Сологуба,60,да
ш Энтузиастов,70,нет
ул Фёдора Сологуба,61,нет
ш Энтузиастов,89,да
ш Энтузиастов,90,да
ш Энтузиастов,79,да
ш Энтузиастов,71,да
ул Генерала Трошева,24,да
ул Генерала Трошева,25,да
ул Азовская,12,да
пр-кт Ломоносовский,30,нет
пр-кт Ломоносовский,21,да
пр-кт Ломоносовский,20,нет
ул Азовская,19,нет
ул Азовская,14,да
Вам нужно:
- прочитать записи из файла (input.csv),
- удалить из списка неактивные улицы и отсортировать список, исходя из условий задачи,
- пересохранить полученные адреса в output.csv.
"""
import csv


with open("input.csv", encoding='utf-8') as in_file:
# Создаем объект DictReader, для возможности использования словаря
# указываем символ-разделитель ","
out_list_street = [] # список для записи в выходной файл улиц
out_list_house = []

for line in csv.DictReader(in_file):
# проверка на активность домов
if line["Активность"] == "да":
out_list_street.append({line["Улица"]})
out_list_house.append({line["Дом"]})

with open("output.csv", mode="w", encoding='utf-8') as out_file:
file_writer = csv.writer(out_file, delimiter=",", lineterminator="\r")
file_writer.writerow(["Улица", "Дом"])
for i in range(len(out_list_street)):
file_writer.writerow([out_list_street[i], out_list_house[i]])
1 change: 1 addition & 0 deletions output.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Улица,Дом{'пр-кт Ломоносовский'},{'15'}{'ул Азовская'},{'11'}
Expand Down

0 comments on commit 08625ca

Please sign in to comment.