Trabajos con excel con los datos del INE¶
https://www.ine.gob.bo/index.php/censos-salud/¶
Estos datos están en XLSX pero no cumplen los requisitos para ser abiertos y estandarizados¶
se usa la librería glob para buscar todos los archivos XLSX dentro de la carpeta seleccionada¶
In [1]:
import pandas as pd
import numpy as np
import glob
se declara la variable todos y se genera un for.¶
Lo que hace el for es iterar a todos los xlsx de la carpeta
Se usa el metodo appeand que une los archivos hacia abajo.
In [2]:
todos = []
for f in glob.glob("data/xlsx/*.xlsx"):
pd.read_excel(f)
todos.append(pd.read_excel(f))
Se declara una variable que en este caso concatena los datos obtenidos mas arriba. Con un index = True¶
In [3]:
df = pd.concat(todos, ignore_index = "True")
df
Out[3]:
Cuadro No.1 | Unnamed: 1 | Unnamed: 2 | Unnamed: 3 | Unnamed: 4 | Unnamed: 5 | Unnamed: 6 | Unnamed: 7 | Unnamed: 8 | Cuadro No.3 | |
---|---|---|---|---|---|---|---|---|---|---|
0 | BOLIVIA: HOGARES CON ACCESO A TECNOLOGÍAS DE I... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
1 | DESCRIPCIÓN | 2.012000e+03 | 2013 | 2014 | 2015 | 2.016000e+03 | 2017 | 2018 | 2019(p) | NaN |
2 | NaN | NaN | Total | % | % | NaN | % | % | % | NaN |
3 | DISPONIBILIDAD EN INFORMACIÓN Y COMUNICACIÓN (... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4 | Total | 2.734429e+06 | 2845632 | 2921392 | 3012441 | 3.209250e+06 | 3347098 | 3.46486e+06 | 3.45374e+06 | NaN |
5 | Telefonía fija | 2.160093e+01 | 22.173 | 16.6964 | 15.5903 | 1.380843e+01 | 13.1356 | 10.8831 | 10.1378 | NaN |
6 | Computadora | 2.951446e+01 | 32.6861 | 27.6789 | 24.4248 | 2.604705e+01 | 25.8632 | 24.8771 | 27.3099 | NaN |
7 | Internet | 1.066768e+01 | 13.1544 | 14.3441 | 14.9037 | 1.548007e+01 | 12.4251 | 16.2142 | 22.9975 | NaN |
8 | Televisor | 8.175937e+01 | 81.0933 | 80.9101 | 82.7155 | 8.026847e+01 | 81.0564 | 81.2495 | 83.8754 | NaN |
9 | Radio | 6.064027e+01 | 59.334 | 55.4486 | 47.8464 | 5.077915e+01 | 44.97 | 43.9401 | 39.7254 | NaN |
10 | Urbano | 1.842577e+06 | 1912789 | 1959154 | 2036406 | 2.175915e+06 | 2231776 | 2.3638e+06 | 2.37147e+06 | NaN |
11 | Telefonía fija | 3.108109e+01 | 32.2358 | 24.5332 | 22.6089 | 2.016715e+01 | 19.4768 | 15.7538 | 14.631 | NaN |
12 | Computadora | 4.061882e+01 | 44.5997 | 37.5668 | 33.0682 | 3.549927e+01 | 35.8721 | 33.7835 | 36.4171 | NaN |
13 | Internet | 1.549042e+01 | 19.0505 | 20.5591 | 20.0162 | 2.195426e+01 | 18.0882 | 23.4723 | 32.8419 | NaN |
14 | Televisor | 9.524128e+01 | 96.0808 | 95.8265 | 95.9412 | 9.498312e+01 | 95.7365 | 95.4063 | 94.8011 | NaN |
15 | Radio | 5.670770e+01 | 53.6984 | 49.2196 | 40.4198 | 4.433188e+01 | 35.4894 | 36.5228 | 32.4079 | NaN |
16 | Rural | 8.918520e+05 | 932843 | 962238 | 976035 | 1.033335e+06 | 1115322 | 1.10106e+06 | 1.08227e+06 | NaN |
17 | Telefonía fija | 2.014796e+00 | 1.53917 | 0.740357 | 0.94679 | 4.187413e-01 | 0.446777 | 0.426571 | 0.292414 | NaN |
18 | Computadora | 6.572727e+00 | 8.25745 | 7.54689 | 6.39116 | 6.143313e+00 | 5.83544 | 5.75641 | 7.35412 | NaN |
19 | Internet | 7.038163e-01 | 1.06449 | 1.69002 | 4.23704 | 1.847223e+00 | 1.09314 | 0.632348 | 1.42651 | NaN |
20 | Televisor | 5.390558e+01 | 50.3614 | 50.5398 | 55.1212 | 4.928353e+01 | 51.6812 | 50.8574 | 59.9352 | NaN |
21 | Radio | 6.876500e+01 | 70.8896 | 68.1311 | 63.3414 | 6.435532e+01 | 63.9406 | 59.8637 | 55.7597 | NaN |
22 | Fuente: INSTITUTO NACIONAL DE ESTADÍSTICA - En... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
23 | (p) Preliminar | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
24 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | BOLIVIA: POBLACIÓN DE 5 AÑOS O MAS DE EDAD QUE... |
25 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | (En número y porcentaje |
26 | NaN | 2.012000e+03 | 2013 | 2014 | 2015 | 2.016000e+03 | 2017 | 2018 | 2019(p) | DESCRIPCIÓN |
27 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
28 | NaN | 9.297455e+06 | 9.51491e+06 | 9.53604e+06 | 9.73744e+06 | 9.913540e+06 | 1.00966e+07 | 1.03031e+07 | 1.04189e+07 | Total |
29 | NaN | 6.133965e+01 | 69.5661 | 70.3945 | 69.8899 | 7.044201e+01 | 67.5766 | 69.7401 | 70.3801 | Teléfono Celular |
30 | NaN | 4.207786e+01 | 41.042 | 35.9629 | 36.8432 | 3.103533e+01 | 26.5754 | 29.711 | 29.387 | computadora |
31 | NaN | 3.550110e+01 | 37.0854 | 34.623 | 37.4901 | 3.938090e+01 | 36.062 | 44.2877 | 47.4748 | Internet |
32 | NaN | 6.305881e+06 | 6.46136e+06 | 6.50664e+06 | 6.70684e+06 | 6.837938e+06 | 6.98657e+06 | 7.16439e+06 | 7.30978e+06 | Urbano |
33 | NaN | 7.051594e+01 | 78.1144 | 78.3238 | 76.7879 | 7.806858e+01 | 75.2022 | 77.0482 | 77.2656 | Teléfono Celular |
34 | NaN | 5.321390e+01 | 52.7695 | 47.0421 | 46.1108 | 3.948702e+01 | 34.4472 | 37.857 | 38.1163 | computadora |
35 | NaN | 4.759741e+01 | 49.4567 | 46.5567 | 47.8839 | 5.124734e+01 | 45.8049 | 55.3165 | 58.2067 | Internet |
36 | NaN | 2.991574e+06 | 3.05355e+06 | 3.0294e+06 | 3.0306e+06 | 3.075602e+06 | 3.11004e+06 | 3.13868e+06 | 3.10913e+06 | Rural |
37 | NaN | 4.199712e+01 | 51.4779 | 53.3636 | 54.6261 | 5.348598e+01 | 50.4461 | 53.0595 | 54.192 | Teléfono Celular |
38 | NaN | 1.860442e+01 | 16.2264 | 12.1663 | 16.3361 | 1.224482e+01 | 8.8917 | 11.1178 | 8.86378 | computadora |
39 | NaN | 1.000353e+01 | 10.9076 | 8.9911 | 14.491 | 1.299843e+01 | 14.175 | 19.1145 | 22.2435 | Internet |
40 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | Fuente: INSTITUTO NACIONAL DE ESTADÍSTICA - En... |
41 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | (p) Preliminar |
Se graba en un archivo excel el resultado de la operación.¶
Ojo se debe dar nombre a la hoja del libro excel
In [4]:
grabar = pd.ExcelWriter("data/xlsx/resul.xlsx")
df.to_excel(grabar, "hija1")
grabar.save()