Mar-13-2019, 02:38 PM
perfringo's codec is correct.
this is much easier done by using a dictionary:
example:
this is much easier done by using a dictionary:
example:
import csv from itertools import groupby,chain from operator import itemgetter import os facilities = { 'Facility1': ["club_house", "gymnasium", "children’s_play_area", "24/7_water_supply", "power_back-up", "inter-com","lift"], 'Facility2': ["jogging_track", "swimming_pool", "aerobics_center", "badminton_court", "basketball_court", "beach_volleyball_court", "football_court", "golf_course", "lawn_tennis_court","yoga/meditation_center"], 'Facility3': ["crèche", "ATM", "car_wash_area", "community_hall", "banquet_hall", "garbage_disposal", "grocery_shop","library"], 'Facility4': ["fountains","landscape_gardens"], 'Facility5': ["gated_society"], 'Facility6': ["car_parking"], 'Facility7': ["CCTV_cameras"], 'Facility8': ["security_guards"], 'Facility9': ["pool_table", "carrom_room", "chess_room", "dart_board", "squash_court", "table_tennis_room", "skating_rink"] } def main(): # Make sure in src directory to start os.chdir(os.path.abspath(os.path.dirname(__file__))) with open("facility_data.csv", encoding="ISO-8859-1") as fp: crdr = csv.reader(fp, delimiter=',') for n, row in enumerate(crdr): for facid, values in facilities.items(): if row[1] in values: print(f'found: from row: {n}, {row[1]} ({row[0]}) in {facid}') if __name__ == '__main__': main()partial output:
Output:found: from row: 1, swimming_pool (R3) in Facility2
found: from row: 2, gymnasium (R3) in Facility1
found: from row: 6, swimming_pool (R5) in Facility2
found: from row: 7, gymnasium (R5) in Facility1
found: from row: 11, swimming_pool (R6) in Facility2
found: from row: 12, gymnasium (R6) in Facility1
found: from row: 16, swimming_pool (R9) in Facility2
found: from row: 17, gymnasium (R9) in Facility1
found: from row: 20, swimming_pool (R10) in Facility2
found: from row: 21, gymnasium (R10) in Facility1
found: from row: 22, swimming_pool (R703) in Facility2
found: from row: 23, gymnasium (R703) in Facility1
found: from row: 26, swimming_pool (R17) in Facility2
found: from row: 27, gymnasium (R17) in Facility1
found: from row: 30, swimming_pool (R18) in Facility2
Also (which I haven't done), write youor output incrementally as you read input