>>> from nouformat import nou_format >>> r = nou_format('oby/t-2020') >>> r # doctesttag: +TAG=1_nouformat-1_nou_format 'OBY/T G2' >>> r = nou_format('pczkj/t-2023') >>> r # doctesttag: +TAG=1_nouformat-1_nou_format 'PCZKJ/T G2' >>> r = nou_format('oby/t-2006') >>> r # doctesttag: +TAG=1_nouformat-1_nou_format 'OBY/T G1' >>> r = nou_format('ab/t-2001') >>> r # doctesttag: +TAG=1_nouformat-1_nou_format 'AB/T G1' >>> r = nou_format('oby/t/2-2006') >>> r # doctesttag: +TAG=1_nouformat-1_nou_format '' >>> r = nou_format('oax-z2-2006') >>> r # doctesttag: +TAG=1_nouformat-1_nou_format '' >>> from nouformat import recodifica >>> l = ['oby/t-2020','oux/n-2021','boua/n-2003','aux/z-2019'] >>> recodifica(l,'o'); print(l) # doctesttag: +TAG=1_nouformat-2_recodifica-no_buida ['OBY/T G2', 'OUX/N G2', 'BOUA/N-2003', 'AUX/Z-2019'] >>> l = ['oby/t-2020','oux-n-2021','boua/n-2003','aux/z-2019'] >>> recodifica(l,'o'); print(l) # doctesttag: +TAG=1_nouformat-2_recodifica-no_buida ['OBY/T G2', 'oux-n-2021*', 'BOUA/N-2003', 'AUX/Z-2019'] >>> l = ['oby/t-2020','oux/n-2021','boua/n-2003','aux/z-2019'] >>> recodifica(l,'x'); print(l) # doctesttag: +TAG=1_nouformat-2_recodifica-no_buida ['OBY/T-2020', 'OUX/N-2021', 'BOUA/N-2003', 'AUX/Z-2019'] >>> l = ['oby/t-2020','oux/n-2021','boua/n-2003','aux/z-2019', 'obyq/t-2020','ouxq/n-2021','bouaq/n-2003','auxq/z-2019'] >>> recodifica(l,'o'); print(l) # doctesttag: +TAG=1_nouformat-2_recodifica-no_buida ['OBY/T G2', 'OUX/N G2', 'BOUA/N-2003', 'AUX/Z-2019', 'OBYQ/T G2', 'OUXQ/N G2', 'BOUAQ/N-2003', 'AUXQ/Z-2019'] >>> l = [] >>> recodifica(l,'x'); print(l) # doctesttag: +TAG=1_nouformat-2_recodifica-buida [] >>> from dic_filtres import filtrar_per_llista ---- inici >>> d = {'A': 4, 'B': 1, 'C': -5, 'D': 3} >>> l = ['C', 'A'] >>> r = filtrar_per_llista(d, l) >>> r == {'A': 4, 'C': -5} # doctesttag: +TAG=2_dic_filtres-1_filtrar_per_llista-no_buida True >>> r = filtrar_per_llista(d, []) >>> r # doctesttag: +TAG=2_dic_filtres-1_filtrar_per_llista-buida {} >>> r = filtrar_per_llista(d, list(d.keys())) >>> r == d # doctesttag: +TAG=2_dic_filtres-1_filtrar_per_llista-no_buida True ---- fi >>> l = ['A'] >>> r = filtrar_per_llista(d, l) >>> if r != { ... 'A':4, ... }: print(r) # doctesttag: +TAG=2_dic_filtres-1_filtrar_per_llista-no_buida >>> l = ['D', 'B'] >>> r = filtrar_per_llista(d, l) >>> if r != { ... 'B': 1, 'D': 3 ... }: print(r) # doctesttag: +TAG=2_dic_filtres-1_filtrar_per_llista-no_buida >>> l = ['D', 'C', 'B'] >>> r = filtrar_per_llista(d, l) >>> if r != { ... 'B': 1, 'C': -5, 'D': 3 ... }: print(r) # doctesttag: +TAG=2_dic_filtres-1_filtrar_per_llista-no_buida >>> l = ['A', 'B', 'C'] >>> r = filtrar_per_llista(d, l) >>> if r != { ... 'A': 4, 'B': 1, 'C': -5, ... }: print(r) # doctesttag: +TAG=2_dic_filtres-1_filtrar_per_llista-no_buida >>> from dic_filtres import filtrar_bidimensional ---- inici >>> d = { ... 'A': {'X': 0, 'Y': 10, 'Z': 20}, ... 'B': {'X': 1, 'Y': 11, 'Z': 21}, ... 'C': {'X': 2, 'Y': 12, 'Z': 22}, ... 'D': {'X': 3, 'Y': 13, 'Z': 23}, ... } >>> f = ['C', 'A'] >>> c = ['Z'] >>> r = filtrar_bidimensional(d, f, c) >>> r == { ... 'A': {'Z': 20}, ... 'C': {'Z': 22}, ... } # doctesttag: +TAG=2_dic_filtres-2_filtrar_bidimensional-no_buida True >>> f = [] >>> c = ['X', 'Z'] >>> r = filtrar_bidimensional(d, f, c) >>> r # doctesttag: +TAG=2_dic_filtres-2_filtrar_bidimensional-buida {} >>> f = ['B', 'D'] >>> c = [] >>> r = filtrar_bidimensional(d, f, c) >>> r == { ... 'B': {}, ... 'D': {}, ... } # doctesttag: +TAG=2_dic_filtres-2_filtrar_bidimensional-buida True ---- fi >>> f = list(d.keys()) >>> c = list(d['A'].keys()) >>> r = filtrar_bidimensional(d, f, c) >>> if r != d: print(r) # doctesttag: +TAG=2_dic_filtres-2_filtrar_bidimensional-no_buida >>> f = ['B', 'C', 'D'] >>> c = ['X', 'Y', 'Z'] >>> r = filtrar_bidimensional(d, f, c) >>> if r != { ... 'B': {'X': 1, 'Y': 11, 'Z': 21}, ... 'C': {'X': 2, 'Y': 12, 'Z': 22}, ... 'D': {'X': 3, 'Y': 13, 'Z': 23}, ... }: print(r) # doctesttag: +TAG=2_dic_filtres-2_filtrar_bidimensional-no_buida >>> f = ['B', 'D', 'A'] >>> c = ['X', 'Y'] >>> r = filtrar_bidimensional(d, f, c) >>> if r != { ... 'A': {'X': 0, 'Y': 10}, ... 'B': {'X': 1, 'Y': 11}, ... 'D': {'X': 3, 'Y': 13}, ... }: print(r) # doctesttag: +TAG=2_dic_filtres-2_filtrar_bidimensional-no_buida >>> f = ['B'] >>> c = ['Y', 'Z'] >>> r = filtrar_bidimensional(d, f, c) >>> if r != { ... 'B': {'Y': 11, 'Z': 21}, ... }: print(r) # doctesttag: +TAG=2_dic_filtres-2_filtrar_bidimensional-no_buida >>> from metadades import extreu_metadades >>> dades = """\ ... :URL: https://inf2.etseib.upc.edu/_downloads/149e9dffad58b96db3e85525fcc28012/consum_elect.csv ... : Resum : consum d’electricitat durant alguns mesos de 2022. ... : Contingut: Energia ... Data,Codi_Postal,Sector_Economic,Tram_Horari,Valor ... 2022-01-01,08001,Indústria,0-6,817 ... 2022-01-01,08001,Indústria,6-12,942 ... 2022-01-01,08001,Indústria,12-18,1145 ... """ >>> with open('consum_elect.txt', 'w') as f: r = f.write(dades) ---- inici Contingut del fitxer. >>> print(dades) # doctest: +NORMALIZE_WHITESPACE :URL: https://inf2.etseib.upc.edu/_downloads/149e9dffad58b96db3e85525fcc28012/consum_elect.csv : Resum : consum d’electricitat durant alguns mesos de 2022. : Contingut: Energia Data,Codi_Postal,Sector_Economic,Tram_Horari,Valor 2022-01-01,08001,Indústria,0-6,817 2022-01-01,08001,Indústria,6-12,942 2022-01-01,08001,Indústria,12-18,1145 Extraiem les metadades. >>> md = extreu_metadades('consum_elect.txt') >>> md == { ... 'URL': 'https://inf2.etseib.upc.edu/_downloads/149e9dffad58b96db3e85525fcc28012/consum_elect.csv', ... 'Resum': 'consum d’electricitat durant alguns mesos de 2022.', ... 'Contingut': 'Energia', ... } # doctesttag: +TAG=3_metadades_extreu_metadades-no_buides True Si el fitxer és buit, el diccionari de metadades també és buit. >>> with open('buit.txt', 'w') as f: pass >>> md = extreu_metadades('buit.txt') >>> md # doctesttag: +TAG=3_metadades_extreu_metadades-buides {} Si el fitxer no té metadades, el diccionari de metadades és buit. >>> dades = """\ ... Data,Codi_Postal,Sector_Economic,Tram_Horari,Valor ... 2022-01-01,08001,Indústria,0-6,817 ... """ >>> with open('sense_metadades.txt', 'w') as f: r = f.write(dades) >>> md = extreu_metadades('sense_metadades.txt') >>> md # doctesttag: +TAG=3_metadades_extreu_metadades-buides {} ---- fi >>> dades = """\ ... : Autor : desconegut ... :URL: https://inf2.etseib.upc.edu/_downloads/149e9dffad58b96db3e85525fcc28012/consum_elect.csv ... : Resum : consum d’electricitat durant alguns mesos de 2022. ... : Contingut: Energia ... Codi_Postal,Sector_Economic,Tram_Horari,Valor ... 08001,Indústria,0-6,817 ... 08001,Indústria,6-12,942 ... 08001,Indústria,12-18,1145 ... """ >>> with open('consum-1.txt', 'w') as f: r = f.write(dades) >>> md = extreu_metadades('consum-1.txt') >>> if md != { ... 'Autor': 'desconegut', ... 'URL': 'https://inf2.etseib.upc.edu/_downloads/149e9dffad58b96db3e85525fcc28012/consum_elect.csv', ... 'Resum': 'consum d’electricitat durant alguns mesos de 2022.', ... 'Contingut': 'Energia', ... }: print(md) # doctesttag: +TAG=3_metadades_extreu_metadades-no_buides >>> dades = """\ ... : Autor : desconegut ... : Contingut: Energia ... Codi_Postal,Sector_Economic,Tram_Horari,Valor ... 08001,Indústria,0-6,817 ... 08001,Indústria,6-12,942 ... 08001,Indústria,12-18,1145 ... """ >>> with open('consum-1.txt', 'w') as f: r = f.write(dades) >>> md = extreu_metadades('consum-1.txt') >>> if md != { ... 'Autor': 'desconegut', ... 'Contingut': 'Energia', ... }: print(md) # doctesttag: +TAG=3_metadades_extreu_metadades-no_buides >>> dades = """\ ... : Contingut: Energia ... Sector_Economic,Tram_Horari,Valor ... Indústria,0-6,817 ... Indústria,6-12,942 ... Indústria,12-18,1145 ... :X:Y ... """ >>> with open('consum-2.txt', 'w') as f: r = f.write(dades) >>> md = extreu_metadades('consum-2.txt') >>> if md != { ... 'Contingut': 'Energia', ... }: print(md) # doctesttag: +TAG=3_metadades_extreu_metadades-no_buides >>> from mostratge import es_decreixent ---- inici >>> r = es_decreixent(2, 3, 0.05) >>> r[0] # doctesttag: +TAG=4_mostratge_es_decreixent-fals False >>> round(r[1], 2) # doctesttag: +TAG=4_mostratge_es_decreixent-fals 2.35 >>> r = es_decreixent(0, 2, 0.01) >>> r[0] # doctesttag: +TAG=4_mostratge_es_decreixent-cert True >>> r[1] # doctesttag: +TAG=4_mostratge_es_decreixent-cert 0.0 >>> r = es_decreixent(0.5, 1.5, 0.001) >>> r[0] # doctesttag: +TAG=4_mostratge_es_decreixent-cert True >>> r[1] # doctesttag: +TAG=4_mostratge_es_decreixent-cert 0.0 ---- fi >>> r = es_decreixent(-0.5, 0, 0.01) >>> r[0] # doctesttag: +TAG=4_mostratge_es_decreixent-fals False >>> r[1] # doctesttag: +TAG=4_mostratge_es_decreixent-fals -0.49 >>> r = es_decreixent(2, 3, 0.001) >>> r[0] # doctesttag: +TAG=4_mostratge_es_decreixent-fals False >>> round(r[1], 3) # doctesttag: +TAG=4_mostratge_es_decreixent-fals 2.292 >>> r = es_decreixent(2.2, 3, 0.0001) >>> r[0] # doctesttag: +TAG=4_mostratge_es_decreixent-fals False >>> round(r[1], 4) # doctesttag: +TAG=4_mostratge_es_decreixent-fals 2.2911 >>> r = es_decreixent(-0.3, 1, 0.001) >>> r[0] # doctesttag: +TAG=4_mostratge_es_decreixent-fals False >>> r[1] # doctesttag: +TAG=4_mostratge_es_decreixent-fals -0.299