Tengo un script que genera varias métricas de rendimiento para una computadora en un .csv. Excel realiza una comprobación básica de estadísticas para desviación estándar, etc.
Me doy cuenta de que puede importar archivos .csv a Excel, pero lo que intento hacer es leer esos datos dinámicamente en mi modelo de Excel sin tener que volver a importar y modelar cada vez.
¿Hay alguna manera de hacer que una celda / tabla haga referencia a un .csv externo sin tener que volver a importar cada vez?
Respuestas:
La forma más fácil de hacerlo es importar los datos a Access o SQL Express, y luego usar las características y funciones de conexión de datos en Excel. Después de la configuración inicial, todo lo que tendría que hacer es hacer clic en Actualizar todo y extraerá los datos y volverá a calcular los valores.
Puede importar directamente el CSV con la función de conexión de datos, pero va a querer extraer los datos y agregarlos a una hoja de trabajo. Esto funcionará, siempre que lo importe a una hoja de trabajo secundaria y deje sus fórmulas y cálculos en otra hoja. Cuando haga clic en Actualizar con este método, le pedirá el nombre del archivo y luego lo importará nuevamente con la misma configuración que se usó originalmente. Este método también suele ser más lento o inutilizable, con grandes conjuntos de datos.
fuente
Ventanas
También puede usar Power Query, que es una forma un poco más flexible de lograr lo mismo que en la respuesta de @ andy-lynch .
Vea a continuación el gif animado para la vista previa:
Mac OS
Power Query no está disponible para MacOS; ni el cuadro de diálogo "Abrir desde el texto" de Excel en MacOS acepta una URL (al menos en la versión 15.33).
Para crear dicha conexión, primero tendría que construir un archivo de consulta web (.iqy), como se explica en esta guía , y luego importarlo con el comando de menú "Datos -> Obtener datos externos -> Ejecutar consulta guardada".
fuente
La pregunta es "¿Cómo hago referencia a datos en un archivo .csv?
Mi forma sería cortar el archivo .csv y usar una macro que contenga VBA y ADO que reciba los datos y los coloque directamente en una hoja de cálculo en Excel. Cualquier base de datos compatible con ODBC puede ser su fuente.
Excel 2010 tiene Datos >> Obtener datos externos, de varias fuentes de datos. Sin embargo, prefiero escribir mi propio código porque tengo control absoluto y puedo formatear los resultados en la macro. La actualización se hace con el clic de un botón y puede hacer cualquier cosa con ella.
Podría informarle algunos detalles si me dice de qué base de datos provienen las métricas.
PD Mire la lista de controladores en Datos >> Obtener datos externos >> Conexiones existentes >> Buscar más >> Nueva fuente >> Otro avanzado >> Siguiente que lo lleva a la lista de Propiedades de enlace de datos. Luego debe saber qué base de datos de origen y qué controlador utilizar. Puedes enviarme un correo electrónico a cliffbeacham a hotmail con más detalles.
fuente
Una forma más simple (gracias a esta publicación ) es importar los datos como lo haría para un archivo de texto que ya ha descargado (es decir
Data > Import Text File
), pero en lugar de ingresar un nombre de archivo, pegue la URL del archivo CSV.fuente
importar el archivo csv directamente a través de
File->From Text
verificar las propiedades de conexión enData->Connections
consulte Importar un archivo de texto conectándose a él
fuente
Con VBS macro o script se vería así (Excel2010 y posterior):
Esta macro fue realmente grabada por el Grabador de macros de Excel 2013. Podría crear un botón que active esta macro.
fuente