Open utterances-bot opened 3 years ago
Hola. Gracias por compartir.
Estoy tratando de replicar el procedimiento, en Jupyter notebook, pero obtengo este error:
dicc_respuestas = {
f.split('\\')[1][:-4]: pd.read_csv(f, encoding='latin1', index_col=f.split('\\')[1][:-4])['descrip'].to_dict() for f in archivos_catalogo_respuestas
}
print(str(dicc_respuestas)[:500])
-----------------------------------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-16-697647b2630f> in <module>
----> 1 dicc_respuestas = {
2 f.split('\\')[1][:-4]: pd.read_csv(f, encoding='latin1', index_col=f.split('\\')[1][:-4])['descrip'].to_dict() for f in archivos_catalogo_respuestas
3 }
4 print(str(dicc_respuestas)[:50])
<ipython-input-16-697647b2630f> in <dictcomp>(.0)
1 dicc_respuestas = {
----> 2 f.split('\\')[1][:-4]: pd.read_csv(f, encoding='latin1', index_col=f.split('\\')[1][:-4])['descrip'].to_dict() for f in archivos_catalogo_respuestas
3 }
4 print(str(dicc_respuestas)[:50])
IndexError: list index out of range
¿Alguna idea del por qué? De antemano, muchas gracias!
Como dato, uso Mac, no sé si sea tema de las barras invertidas u otra cosa.
Como yo uso Windows, el sistema usa '\' como separador de la ruta del archivo, por ejemplo: 'conjunto_de_datos_CB_ENSU_12_2020/catalogos\BP1_1.csv'. Modifiqué un par de líneas en esa celda y la anterior para que ya no dependa del sistema operativo y funcione igual en todos. Me cuentas si te funciona.
Esto fue lo que cambié:
dir_catalogos = 'conjunto_de_datos_CB_ENSU_12_2020/catalogos/'
archivos_catalogo_respuestas = glob.glob1(dir_catalogos, '*.csv')
dicc_respuestas = {
f[:-4]: pd.read_csv(f'{dir_catalogos}/{f}', encoding='latin1', index_col=f[:-4])['descrip'].to_dict() for f in archivos_catalogo_respuestas
}
¡Gracias por reportar!
Increíble!!!! Quedó solucionado. Gracias por compartir!!!!!
Etiquetado de variables y valores en las encuestas de INEGI usando Python | Blog de Juan Santos
Para entender los datos de encuestas es necesario contar con un diccionario de variables y un catálogo de valores para las variables que se analizan. Organizar esta información puede ser un reto cuando estos metadatos vienen en archivos planos como .csv. Aquí muestro una aplicación usando datos de la ENSU de INEGI.
http://blog.jjsantoso.com/etiquetas-encuestas-inegi/