Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import sys
- from iso8601 import iso8601
- sales = {}
- try:
- filename = input()
- if not os.path.isfile(filename) or not os.access(filename, os.R_OK):
- raise ValueError()
- with open(filename, 'r', encoding='utf8') as f:
- for line in f:
- if line.strip() == "":
- continue
- split = line.split(",")
- if len(split) != 5:
- raise ValueError()
- idf = split[0].replace('"', "")
- country = split[1]
- city = split[2].replace('"', "")
- dt = split[3].replace('"', "")
- price = float(split[4])
- dtparse = iso8601.parse_date(dt)
- if city not in sales:
- sales[city] = set()
- sales[city].add(idf)
- if not sales:
- raise ValueError()
- result = {}
- for city, ids in sales.items():
- newids = set()
- for city1, ids1 in sales.items():
- if city == city1:
- continue
- newids |= ids1
- for idx in ids:
- if idx not in newids:
- if city not in result:
- result[city] = set()
- result[city].add(idx)
- if not result:
- print("NO UNIQUE SALES")
- sys.exit()
- for key in sorted(result):
- sortedIds = result[key]
- if len(sortedIds) > 1:
- sortedIds = sorted(sortedIds)
- print("{},{}".format(key, ",".join(sortedIds)))
- except Exception as e:
- print("INVALID INPUT")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement