Convertir CSV a MDF
Convierta las mediciones CSV a ASAM MDF4 o importe los datos CSV a una base de datos de SQL Server.
Convierte archivos CSV en línea
Todavía no tenemos un conversor en línea específico para CSV a MDF, pero puedes convertir archivos CSV en línea a estos y otros formatos:
Cómo convertir un archivo csv a mdf
- Bases de datos
- Aún sin calificaciones.
Un programa de pruebas, automotriz o de análisis de datos puede requerir un archivo ASAM Measurement Data Format en lugar de una tabla de texto sin formato. En cambio, un flujo de trabajo de base de datos puede requerir una base de datos de Microsoft SQL Server cuyo archivo de datos principal tenga la extensión .mdf; estos son formatos diferentes y requieren procedimientos de conversión distintos.
Qué contiene CSV
CSV es un formato tabular de texto sin formato: las filas representan registros, mientras que las comas, los puntos y coma o las tabulaciones separan los campos. Microsoft Excel, LibreOffice Calc, Google Sheets, los registradores de datos, los instrumentos de laboratorio, las exportaciones de bases de datos y los scripts suelen crear archivos CSV.
CSV normalmente almacena valores sin definir metadatos de señales, tipos de datos binarios, grupos de canales, frecuencias de muestreo, fórmulas de calibración, identidad del dispositivo ni hora de inicio de la medición. Puede haber una columna de marcas de tiempo, pero un archivo que solo contiene muestras requiere un período de muestreo conocido antes de poder representar una medición cronometrada.
¿A qué MDF te refieres?
ASAM MDF es un formato binario de datos de medición utilizado para pruebas automotrices, análisis de CAN y ECU, adquisición de datos y equipos de prueba. Los archivos actuales suelen utilizar .mf4; los archivos MDF 3 antiguos suelen utilizar .mdf. MDF almacena canales, grupos de canales, marcas de tiempo, unidades, tipos de datos, información de origen y metadatos de medición, lo que permite que el software compatible acceda eficazmente a grabaciones grandes y mantenga sincronizadas las señales relacionadas.
Microsoft SQL Server MDF es un archivo de almacenamiento de base de datos, no un formato de medición. SQL Server administra el archivo y su registro de transacciones asociado; cambiar el nombre de un archivo CSV a .mdf no puede crear una base de datos válida. Si el destino es SQL Server, importe el CSV a una base de datos nueva o existente y permita que SQL Server cree los archivos de datos.
Convertir CSV a ASAM MDF con Python
El paquete de código abierto asammdf ofrece el mayor control sobre los nombres de los canales, las marcas de tiempo, las unidades y la versión de salida. Instálelo con:
python -m pip install asammdf numpyPrepare un CSV UTF-8 con una fila de encabezado. Este ejemplo espera marcas de tiempo en segundos y columnas de señales numéricas:
time,EngineSpeed,VehicleSpeed
0.000,800,0
0.010,805,0.2
0.020,810,0.4Guarde lo siguiente como csv_to_mdf.py y cambie los nombres de los canales y las unidades para que coincidan con el origen:
import csv
import numpy as np
from asammdf import MDF, Signal
input_file = "measurement.csv"
output_file = "measurement.mf4"
time_name = "time"
units = {"EngineSpeed": "rpm", "VehicleSpeed": "km/h"}
with open(input_file, newline="", encoding="utf-8-sig") as file:
rows = list(csv.DictReader(file))
if not rows:
raise ValueError("The CSV contains no data rows")
if time_name not in rows[0]:
raise ValueError("The CSV must contain a 'time' column")
timestamps = np.array([float(row[time_name]) for row in rows], dtype=float)
if np.any(~np.isfinite(timestamps)) or np.any(np.diff(timestamps) < 0):
raise ValueError("Timestamps must be finite and nondecreasing")
mdf = MDF(version="4.10")
for name in rows[0]:
if name == time_name:
continue
samples = np.array([float(row[name]) for row in rows], dtype=float)
mdf.append(Signal(samples=samples, timestamps=timestamps,
name=name, unit=units.get(name, "")))
mdf.save(output_file, overwrite=True)Ejecútelo con python csv_to_mdf.py. Abra el archivo measurement.mf4 resultante en un lector MDF y compruebe los nombres de los canales, las unidades, las marcas de tiempo, el número de muestras, los valores faltantes y los rangos numéricos. El script escribe canales de coma flotante; conserve las señales booleanas, enteras, enumeradas, de matrices de bytes o de texto mediante un tratamiento explícito de los tipos cuando la aplicación receptora dependa de esos tipos.
Utilizar software de medición de escritorio
Las aplicaciones de medición de Vector, National Instruments, Dewesoft y otros proveedores de sistemas de prueba pueden importar canales CSV y exportar ASAM MDF, pero la compatibilidad depende del producto, la versión, la licencia y las opciones instaladas. El flujo de trabajo habitual es File → Import → CSV, configurar el delimitador, el separador decimal, la fila de encabezado, la columna de marcas de tiempo y las unidades, y luego elegir el comando de exportación MDF o MDF4 del producto. Compruebe en la documentación que la salida sea ASAM MDF y no un archivo propietario con extensión .mdf.
Para una conversión repetible o automatizada, asammdf suele ser más fácil de auditar que una importación gráfica, porque la construcción de las marcas de tiempo, las unidades, la política de valores faltantes y la versión de salida se especifican explícitamente en el script.
Importar CSV a una base de datos de SQL Server
Si el archivo requerido es un .mdf de SQL Server, cree una base de datos en SQL Server Management Studio o SQL Server Express y, a continuación, utilice Tasks → Import Flat File o el SQL Server Import and Export Wizard. Seleccione el CSV, configure su delimitador, calificador de texto, codificación, tipos de columna, tratamiento de valores nulos y tabla de destino, y permita que SQL Server cree o amplíe la base de datos.
Revise los tipos de columna inferidos antes de importar: los identificadores con ceros iniciales deben ser texto, las fechas requieren un formato inequívoco y los valores numéricos largos pueden necesitar decimal o bigint. El resultado es una base de datos de SQL Server cuyos datos pueden residir en un archivo .mdf; el CSV no se ha convertido en un archivo de medición ASAM. Herramientas como Full Convert pueden migrar datos CSV a una base de datos de SQL Server cuando son compatibles, pero no sustituyen la administración de archivos de base de datos de SQL Server.
Comprobaciones de calidad y compatibilidad
- Base de tiempo: Si el CSV no tiene marcas de tiempo, calcúlelas a partir de la frecuencia de muestreo documentada; a 100 Hz, utilice intervalos de 0,01 segundos. Una base de tiempo inferida no puede recuperar tiempos desconocidos, muestras descartadas, pausas ni eventos de activación.
- Delimitador y configuración regional: Configure los separadores de coma frente a punto y coma y el punto decimal frente a la coma decimal. Una configuración incorrecta puede desplazar los campos o importar los valores numéricos como texto.
- Lecturas faltantes: Decida cómo deben representarse las celdas vacías,
NaNy los valores no válidos. Sustituir los intervalos vacíos por cero cambia la medición, a menos que esa regla esté documentada. - Pérdida de metadatos: CSV normalmente no puede proporcionar definiciones de mensajes CAN, fórmulas de conversión de ECU, identidad del dispositivo de adquisición, información de activación, calibración ni detalles originales de sincronización. Añada los metadatos necesarios después de la importación.
- Versión y extensión: Utilice
.mf4para MDF4, a menos que el destino requiera específicamente MDF3. Cambiar el nombre de.csva.mdfno realiza ninguna conversión, y no debe proporcionarse un archivo.mdfde ASAM a SQL Server. - Servicios en línea: Los convertidores generales rara vez admiten la creación de ASAM MDF o SQL Server MDF conforme a los estándares. No cargue datos de vehículos, laboratorios o propietarios a menos que un servicio documente explícitamente el tipo de MDF requerido, la validación de salida y las políticas de conservación y eliminación; valide cualquier archivo descargado con la aplicación de destino.
CSV vs MDF: comparación de formatos
Cómo se comparan los formatos CSV y MDF en las propiedades que más importan para esta conversión.
| Propiedad | .CSV Comma-Separated Values | .MDF Media Descriptor File |
|---|---|---|
| Estándar abierto | Sí | No |
| Compresión | Sin compresión | Ambos |
| Tamaño de archivo típico | Pequeño | Grande |
| Se abre en un navegador web | Sí, de forma nativa | No |
| Edición posterior | Fácil | No editable directamente |
| Compatibilidad con metadata | Básico | Básico |
| Legible como texto plano | Sí | No |
| Más adecuado para | Intercambio de datos | Archivado a largo plazo |
| Introducido | — | 2000 |
| Desarrollador | — | Alcohol Soft |
| Tipo MIME | text/csv | — |