Diferència entre revisions de la pàgina «Q. INE Municipis»
(Es crea la pàgina amb «=Introducció= Ens agrada treballar amb dades reals i bases de dades amb milers de registres. Concretament, a l'estat espanyol hi ha més de 8000 municipis. Farem ser...».) |
|||
| (Hi ha 3 revisions intermèdies del mateix usuari que no es mostren) | |||
| Línia 18: | Línia 18: | ||
Cercar a Google: 'INE comunidades autónomas' | Cercar a Google: 'INE comunidades autónomas' | ||
i obtenim un enllaç d'on podem trobar totes les comunitats autònomes. | i obtenim un enllaç d'on podem trobar totes les comunitats autònomes. | ||
| + | =Programar amb Calc de Libreoffice (o Excel de Microsoft Office)= | ||
| + | Un dels problemes que trobem és que les funcions de cadena estan amb l'idioma del sistema. En el cas del professor, en català. | ||
| + | ==Problema 1: Araba/Álava -> Araba== | ||
| + | Recorda que hem de dividir un problema més gros en problemes més petits. | ||
| + | |||
| + | Les funcions de cadena (o de text) que ens poden interessar són:ç | ||
| + | <pre> | ||
| + | CERCA | ||
| + | CONCATENA | ||
| + | CONCAT | ||
| + | CONCATENA | ||
| + | LONG | ||
| + | REEMPLAÇA | ||
| + | SUBSTITUEIX | ||
| + | </pre> | ||
| + | Solució parcial: | ||
| + | <pre> | ||
| + | =REEMPLAÇA(A3;CERCA("/";A3);LONG(A3)-CERCA("/";A3)+1;"") | ||
| + | </pre> | ||
| + | Aquesta funció va bé per reemplaçar ''Araba/Álava'' per ''Araba''. Però en canvi no funciona per ''Barcelona'', perquè quan cerques pel caràcter ''/'' dóna error. | ||
| + | |||
| + | Haurem de fer un condicional: '''SI''' ('''IF''' en anglès). La solució: | ||
| + | <pre> | ||
| + | =SI(ESNOMBRE(CERCA("/";A1));REEMPLAÇA(A1;CERCA("/";A1);LONG(A1)-CERCA("/";A1)+1;"");A1) | ||
| + | </pre> | ||
| + | ==Problema 2: Pobla de Lillet, La -> La Pobla de Lillet== | ||
| + | Aquest problema ja és més difícil. No és que sigui difícil, sinó que és més llarg, i certament el Excel/Calc no és el millor entorn per fer aquest tipus de neteja. És molt més fàcil un script amb qualsevol llenguatge una mica més sèrio (Python, Javascript, PHP). | ||
| + | |||
| + | Ho comentem a classe, no cal que ho feu. | ||
=Entrega= | =Entrega= | ||
| Línia 28: | Línia 57: | ||
Com pots comprovar, aquest Excel té molta redundància de dades. | Com pots comprovar, aquest Excel té molta redundància de dades. | ||
| + | |||
2. | 2. | ||
| Línia 47: | Línia 77: | ||
</pre> | </pre> | ||
| − | + | 5. Exporta aquest Excel a un fitxer de text amb format CSV: municipis1.txt. Quants Kb ocupa aquest fitxer? | |
| − | + | 6. Exporta aquest Excel a un fitxer de text amb format CSV: municipis2.txt, però sense exportar els camps comunitat i província. Quants Kb ocupa aquest fitxer? | |
De moment tota la informació la tenim en un sol Excel. Però quan tinguem les taules, hi haurà tres taules, i no hi haurà cap redundància d'informació. | De moment tota la informació la tenim en un sol Excel. Però quan tinguem les taules, hi haurà tres taules, i no hi haurà cap redundància d'informació. | ||
Revisió de 20:31, 18 oct 2021
Contingut
Introducció
Ens agrada treballar amb dades reals i bases de dades amb milers de registres. Concretament, a l'estat espanyol hi ha més de 8000 municipis.
Farem servir les dades del INE (Instituto Nacional de Estadística):
La Generalitat també té un institu d'estadística propi, d'on es pot treure molta informació oficial:
Desenvolupament
Feina que fem a classe:
Cerquem a Google: 'INE municipios' i obtenim un enllaç amb un Excel descarregable d'on podem trobar tots els municipis (i també hi ha els codis de províncies i municipis).
Cerquem a Google: 'INE provincias' i obtenim un enllaç d'on podem trobar totes les províncies.
Cercar a Google: 'INE comunidades autónomas' i obtenim un enllaç d'on podem trobar totes les comunitats autònomes.
Programar amb Calc de Libreoffice (o Excel de Microsoft Office)
Un dels problemes que trobem és que les funcions de cadena estan amb l'idioma del sistema. En el cas del professor, en català.
Problema 1: Araba/Álava -> Araba
Recorda que hem de dividir un problema més gros en problemes més petits.
Les funcions de cadena (o de text) que ens poden interessar són:ç
CERCA CONCATENA CONCAT CONCATENA LONG REEMPLAÇA SUBSTITUEIX
Solució parcial:
=REEMPLAÇA(A3;CERCA("/";A3);LONG(A3)-CERCA("/";A3)+1;"")
Aquesta funció va bé per reemplaçar Araba/Álava per Araba. Però en canvi no funciona per Barcelona, perquè quan cerques pel caràcter / dóna error.
Haurem de fer un condicional: SI (IF en anglès). La solució:
=SI(ESNOMBRE(CERCA("/";A1));REEMPLAÇA(A1;CERCA("/";A1);LONG(A1)-CERCA("/";A1)+1;"");A1)
Problema 2: Pobla de Lillet, La -> La Pobla de Lillet
Aquest problema ja és més difícil. No és que sigui difícil, sinó que és més llarg, i certament el Excel/Calc no és el millor entorn per fer aquest tipus de neteja. És molt més fàcil un script amb qualsevol llenguatge una mica més sèrio (Python, Javascript, PHP).
Ho comentem a classe, no cal que ho feu.
Entrega
Classroom. Entregaràs un document (Google docs, pdf) on realitzaràs les següents tasques (captures de pantalla allà on creguis necessari). La verbositat és important.
1. Posar en un sol Excel la següent informació (i amb aquest ordre):
cod_com, comunitat, id_prov, província, id_mun, municipi
Com pots comprovar, aquest Excel té molta redundància de dades.
2.
a) Quantes vegades apareix la paraula Andalucía?
b) Quantes vegades apareix la paraula Tarragona?
c) Quantes vegades apareix la paraula Mieres?
d) El nom de la població seria una bona clau primària?
3. Què passa amb Ceuta i Melilla? Quina problemàtica presenten?
4. Crea encara una nova columna, una columna que es digui municipi_net. Objectiu:
Harana/Valle de Arana -> Harana (i tots els casos similars) Gineta, La -> La Gineta (i tots els casos similars) Alqueria d'Asnar, l' -> l'Alqueria d'Asnar (i tots els casos similars)
5. Exporta aquest Excel a un fitxer de text amb format CSV: municipis1.txt. Quants Kb ocupa aquest fitxer?
6. Exporta aquest Excel a un fitxer de text amb format CSV: municipis2.txt, però sense exportar els camps comunitat i província. Quants Kb ocupa aquest fitxer?
De moment tota la informació la tenim en un sol Excel. Però quan tinguem les taules, hi haurà tres taules, i no hi haurà cap redundància d'informació.
NOTA. Farem servir tota aquesta informació més endavant per generar la nostra base de dades de municipis (versió 2021). En aquesta base de dades hi ha pocs canvis, però cada any hi ha algun canvi.
creat per Joan Quintana Compte, octubre 2021