>>> from pprint import pprint >>> from csv_utils import linia_bools_a_dic ---- inici >>> cap = ['Data', 'Codi_Postal', 'Sector_Economic', 'Tram_Horari', 'Valor'] >>> linia = '2022-01-01,08001,Indústria,0-6,817' >>> bools = [True, False, False, True, True] >>> res = linia_bools_a_dic(cap, linia, ',', bools) >>> res == {'Data': '2022-01-01', 'Tram_Horari': '0-6', 'Valor': '817'} True ---- fi >>> linia = '2022-01-03,08003,Artesania,0-6,817' >>> bools = [False]*5 >>> res = linia_bools_a_dic(cap, linia, ',', bools) >>> res {} >>> linia = '2022-01-05,08005,Comerç,6-12,935' >>> bools = [True]*5 >>> res = linia_bools_a_dic(cap, linia, ',', bools) >>> esp = { ... 'Data': '2022-01-05', ... 'Codi_Postal': '08005', ... 'Sector_Economic': 'Comerç', ... 'Tram_Horari': '6-12', ... 'Valor': '935' ... } >>> if res != esp: ... print('Has calculat:'); pprint(res); print('Però esperavem:'); pprint(esp) >>> bools = [False]*2 + [True]*3 >>> res = linia_bools_a_dic(cap, linia, ',', bools) >>> esp = { ... 'Sector_Economic': 'Comerç', ... 'Tram_Horari': '6-12', ... 'Valor': '935' ... } >>> if res != esp: ... print('Has calculat:'); pprint(res); print('Però esperavem:'); pprint(esp) >>> bools = [True]*3 + [False]*2 >>> res = linia_bools_a_dic(cap, linia, ',', bools) >>> esp = { ... 'Data': '2022-01-05', ... 'Codi_Postal': '08005', ... 'Sector_Economic': 'Comerç', ... } >>> if res != esp: ... print('Has calculat:'); pprint(res); print('Però esperavem:'); pprint(esp) >>> bools = [False] + [True]*3 + [False] >>> res = linia_bools_a_dic(cap, linia, ',', bools) >>> esp = { ... 'Codi_Postal': '08005', ... 'Sector_Economic': 'Comerç', ... 'Tram_Horari': '6-12', ... } >>> if res != esp: ... print('Has calculat:'); pprint(res); print('Però esperavem:'); pprint(esp) >>> cap = [chr(ord('A') + i) for i in range(26)] >>> linia = ','.join(str(i) for i in range(26)) >>> bls = [False]*10 + [True]*10 + [False]*6 >>> res = linia_bools_a_dic(cap, linia, ',', bls) >>> esp = {cap[i]: str(ord(cap[i]) - ord('A')) for i in range(26) if bls[i]} >>> if res != esp: ... print('Has calculat:'); pprint(res); print('Però esperavem:'); pprint(esp) >>> bls = ([False]*3 + [True]*3)*4 + [False]*2 >>> res = linia_bools_a_dic(cap, linia, ',', bls) >>> esp = {cap[i]: str(ord(cap[i]) - ord('A')) for i in range(26) if bls[i]} >>> if res != esp: ... print('Has calculat:'); pprint(res); print('Però esperavem:'); pprint(esp) >>> bls = ([False]*2 + [True]*3)*5 + [False] >>> res = linia_bools_a_dic(cap, linia, ',', bls) >>> esp = {cap[i]: str(ord(cap[i]) - ord('A')) for i in range(26) if bls[i]} >>> if res != esp: ... print('Has calculat:'); pprint(res); print('Però esperavem:'); pprint(esp)