Converter csv para mdf

Converter CSV para MDF

Converta medições CSV para ASAM MDF4 ou importe dados CSV para um banco de dados SQL Server.

Converter ficheiros CSV online

Ainda não temos um conversor online dedicado para CSV para MDF, mas pode converter ficheiros CSV online para estes e outros formatos:

Como converter csv para mdf arquivo

Um programa de teste, automotivo ou de análise de dados pode exigir um arquivo ASAM Measurement Data Format em vez de uma tabela de texto simples. Um fluxo de trabalho de banco de dados pode exigir, por outro lado, um banco de dados Microsoft SQL Server cujo arquivo de dados principal tenha a extensão .mdf; esses são formatos diferentes e exigem procedimentos de conversão diferentes.

O que CSV contém

CSV é um formato tabular de texto simples: as linhas representam registros, enquanto vírgulas, ponto e vírgulas ou tabulações separam os campos. Microsoft Excel, LibreOffice Calc, Google Sheets, registradores de dados, instrumentos de laboratório, exportações de bancos de dados e scripts geralmente criam arquivos CSV.

CSV normalmente armazena valores sem definir metadados de sinais, tipos de dados binários, grupos de canais, taxas de amostragem, fórmulas de calibração, identidade do dispositivo ou horário de início da medição. Uma coluna de timestamp pode estar presente, mas um arquivo contendo apenas amostras requer um período de amostragem conhecido antes que possa representar uma medição temporizada.

Qual MDF você quer dizer?

ASAM MDF é um formato binário de dados de medição usado em testes automotivos, análise de CAN e ECU, aquisição de dados e equipamentos de teste. Os arquivos atuais normalmente usam .mf4; arquivos MDF 3 mais antigos normalmente usam .mdf. MDF armazena canais, grupos de canais, timestamps, unidades, tipos de dados, informações de origem e metadados de medição, permitindo que softwares compatíveis acessem grandes gravações com eficiência e mantenham os sinais sincronizados juntos.

Microsoft SQL Server MDF é um arquivo de armazenamento de banco de dados, não um formato de medição. O SQL Server gerencia o arquivo e seu transaction log associado; alterar o nome de um arquivo CSV para .mdf não pode criar um banco de dados válido. Se o destino for o SQL Server, importe o CSV para um banco de dados novo ou existente e deixe o SQL Server criar os arquivos de dados.

Converter CSV em ASAM MDF com Python

O pacote de código aberto asammdf oferece o maior controle sobre nomes de canais, timestamps, unidades e versão de saída. Instale-o com:

python -m pip install asammdf numpy

Prepare um CSV UTF-8 com uma linha de cabeçalho. Este exemplo espera timestamps em segundos e colunas de sinais numéricos:

time,EngineSpeed,VehicleSpeed
0.000,800,0
0.010,805,0.2
0.020,810,0.4

Salve o seguinte como csv_to_mdf.py, alterando os nomes dos canais e as unidades para corresponderem à origem:

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)

Execute-o com python csv_to_mdf.py. Abra o measurement.mf4 resultante em um leitor de MDF e verifique os nomes dos canais, as unidades, os timestamps, as contagens de amostras, os valores ausentes e os intervalos numéricos. O script grava canais de ponto flutuante; preserve sinais Boolean, inteiros, enumerados, de matriz de bytes ou de texto com tratamento explícito de tipos quando o aplicativo receptor depender desses tipos.

Usar software de medição para desktop

Aplicativos de medição da Vector, National Instruments, Dewesoft e de outros fornecedores de sistemas de teste podem importar canais CSV e exportar ASAM MDF, mas o suporte depende do produto, da versão, da licença e das opções instaladas. O fluxo de trabalho típico é File → Import → CSV, configurar o delimitador, o separador decimal, a linha de cabeçalho, a coluna de timestamp e as unidades e, em seguida, escolher o comando de exportação MDF ou MDF4 do produto. Verifique na documentação se a saída é ASAM MDF, e não um arquivo proprietário com extensão .mdf.

Para uma conversão repetível ou automatizada, asammdf geralmente é mais fácil de auditar do que uma importação gráfica, pois a construção dos timestamps, as unidades, a política para valores ausentes e a versão de saída são explícitas no script.

Importar CSV para um banco de dados SQL Server

Se o arquivo necessário for um .mdf do SQL Server, crie um banco de dados no SQL Server Management Studio ou no SQL Server Express e, em seguida, use Tasks → Import Flat File ou o SQL Server Import and Export Wizard. Selecione o CSV, defina o delimitador, o qualificador de texto, a codificação, os tipos de coluna, o tratamento de valores nulos e a tabela de destino, e deixe o SQL Server criar ou estender o banco de dados.

Revise os tipos de coluna inferidos antes da importação: identificadores com zeros à esquerda devem ser texto, datas exigem um formato não ambíguo e valores numéricos longos podem precisar de decimal ou bigint. O resultado é um banco de dados SQL Server cujos dados podem estar em um arquivo .mdf; o CSV em si não foi convertido em um arquivo de medição ASAM. Ferramentas como o Full Convert podem migrar dados CSV para um banco de dados SQL Server quando houver suporte, mas não substituem o gerenciamento de arquivos de banco de dados do SQL Server.

Verificações de qualidade e compatibilidade

  • Base de tempo: Se o CSV não tiver timestamps, calcule-os a partir da taxa de amostragem documentada; a 100 Hz, use intervalos de 0,01 segundo. Uma base de tempo inferida não pode recuperar temporização desconhecida, amostras descartadas, pausas ou eventos de trigger.
  • Delimitador e localidade: Configure separadores por vírgula ou ponto e vírgula e ponto decimal ou vírgula decimal. Uma configuração incorreta pode deslocar campos ou importar valores numéricos como texto.
  • Leituras ausentes: Decida como células vazias, NaN e valores inválidos devem ser representados. Substituir lacunas por zero altera a medição, a menos que essa regra esteja documentada.
  • Perda de metadados: CSV normalmente não pode fornecer definições de mensagens CAN, fórmulas de conversão de ECU, identidade do dispositivo de aquisição, informações de trigger, calibração ou detalhes originais de sincronização. Adicione os metadados necessários após a importação.
  • Versão e extensão: Use .mf4 para MDF4, a menos que o destino exija especificamente MDF3. Renomear .csv para .mdf não realiza nenhuma conversão, e um arquivo ASAM .mdf não deve ser fornecido ao SQL Server.
  • Serviços online: Conversores genéricos raramente oferecem suporte à criação de ASAM MDF em conformidade com os padrões ou de SQL Server MDF. Não envie dados de veículos, laboratórios ou proprietários, a menos que um serviço documente explicitamente o tipo de MDF necessário, a validação da saída, a retenção e as políticas de exclusão; valide qualquer arquivo baixado com o aplicativo de destino.

Comparação de formato: CSV vs MDF

Como os formatos CSV e MDF se comparam nas propriedades mais importantes para esta conversão.

Comparação dos formatos de arquivo CSV e MDF
Propriedade .CSV Comma-Separated Values .MDF Media Descriptor File
Padrão aberto Sim Não
Compressão Sem compressão Ambos
Tamanho típico do arquivo Pequeno Grande
Abre num navegador web Sim, nativamente Não
Edição posterior Fácil Não editável diretamente
Suporte a metadados Básico Básico
Legível em texto simples Sim Não
Mais usado para Intercâmbio de dados Arquivamento de longo prazo
Introduzido — 2000
Desenvolvedor — Alcohol Soft
Tipo MIME text/csv —

Outras conversões de arquivo .csv

Conversão inversa

Converter para .mdf
de outros formatos

Compartilhar nas redes sociais: