3. Descartar metadades¶
Un fitxer amb metadades està estructurat en tres parts consecutives:
metadades, capçalera i dades. El fitxer consum_elect.txt
n’és un exemple:
:Origen: https://inf2.etseib.upc.edu/_downloads/149e9dffad58b96db3e85525fcc28012/consum_elect.csv
: Descripció : consum d’electricitat durant alguns mesos de 2022.
:Tema: 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
En aquest exemple, les tres primeres línies contenen les metadades, la quarta, la capçalera i la resta, les dades.
En general, les línies que contenen metadades comencen amb el caràcter
dos punts (:), seguit del nom de la metadada, uns altres dos punts
i el valor de la metadada. La capçalera és la primera línia que no
comença per dos punts. Les dades són la resta de línies que van després de
la capçalera.
Dissenya la funció següent i desa-la al mòdul metadades (fitxer
metadades.py).
- metadades.sense_metadades(nom_fitxer_amb, nom_fitxer_sense)¶
Crea el fitxer nom_fitxer_sense que conté només la capçalera i les dades del fitxer nom_fitxer_amb.
- Paràmetres:
Per exemple:
Contingut del fitxer. >>> print(dades) :Origen: https://inf2.etseib.upc.edu/_downloads/149e9dffad58b96db3e85525fcc28012/consum_elect.csv : Descripció : consum d’electricitat durant alguns mesos de 2022. :Tema: 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 Descartem les metadades. >>> sense_metadades('consum_elect.txt', 'consum_elect-sense.txt') >>> with open('consum_elect-sense.txt', 'r') as f: ... res = f.read() >>> print(res) 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 Si el fitxer amb metadades no en conté, els fitxer sense metadades és idèntic al fitxer amb de metadades. >>> 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) >>> sense_metadades('sense_metadades.txt', 'sense_metadades-sense.txt') >>> with open('sense_metadades-sense.txt', 'r') as f: ... res = f.read() >>> dades == res True
Disposes de més tests al fitxer
test-sense_metadades.txt.