Konversi csv ke mdf

Konversi CSV menjadi MDF

Konversi pengukuran CSV ke ASAM MDF4 atau impor data CSV ke database SQL Server.

Konversi file CSV secara online

Kami belum punya konverter online khusus untuk CSV ke MDF, tetapi Anda bisa mengonversi file CSV secara online ke format berikut dan lainnya:

Bagaimana mengkonversi csv ke mdf berkas

Program pengujian, otomotif, atau analisis data mungkin memerlukan file ASAM Measurement Data Format, bukan tabel teks biasa. Alur kerja database mungkin memerlukan database Microsoft SQL Server yang file data utamanya memiliki ekstensi .mdf; keduanya adalah format yang berbeda dan memerlukan prosedur konversi yang berbeda.

Isi CSV

CSV adalah format tabular teks biasa: baris merepresentasikan record, sedangkan koma, titik koma, atau tab memisahkan field. Microsoft Excel, LibreOffice Calc, Google Sheets, data logger, instrumen laboratorium, ekspor database, dan script umumnya membuat file CSV.

CSV biasanya menyimpan nilai tanpa mendefinisikan metadata sinyal, tipe data biner, grup channel, laju sampling, formula kalibrasi, identitas perangkat, atau waktu mulai pengukuran. Kolom timestamp mungkin tersedia, tetapi file yang hanya berisi sample memerlukan periode sample yang diketahui sebelum dapat merepresentasikan pengukuran berbasis waktu.

MDF yang mana yang Anda maksud?

ASAM MDF adalah format data pengukuran biner yang digunakan untuk pengujian otomotif, analisis CAN dan ECU, akuisisi data, serta peralatan pengujian. File saat ini umumnya menggunakan .mf4; file MDF 3 yang lebih lama umumnya menggunakan .mdf. MDF menyimpan channel, grup channel, timestamp, unit, tipe data, informasi sumber, dan metadata pengukuran, sehingga software yang kompatibel dapat mengakses rekaman berukuran besar secara efisien dan menjaga sinyal tersinkronisasi tetap bersama.

Microsoft SQL Server MDF adalah file penyimpanan database, bukan format pengukuran. SQL Server mengelola file tersebut beserta transaction log terkait; mengubah nama file CSV menjadi .mdf tidak dapat membuat database yang valid. Jika tujuannya adalah SQL Server, import CSV ke database baru atau yang sudah ada dan biarkan SQL Server membuat file data.

Konversi CSV ke ASAM MDF dengan Python

Package open-source asammdf memberikan kontrol paling besar atas nama channel, timestamp, unit, dan versi output. Install dengan:

python -m pip install asammdf numpy

Siapkan CSV UTF-8 dengan baris header. Contoh ini mengharapkan timestamp dalam satuan detik dan kolom sinyal numerik:

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

Simpan kode berikut sebagai csv_to_mdf.py, lalu ubah nama channel dan unit agar sesuai dengan sumber:

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)

Jalankan dengan python csv_to_mdf.py. Buka measurement.mf4 yang dihasilkan dalam MDF reader dan periksa nama channel, unit, timestamp, jumlah sample, nilai yang hilang, serta rentang numerik. Script tersebut menulis channel floating-point; pertahankan sinyal Boolean, integer, enumerated, byte-array, atau teks dengan penanganan tipe yang eksplisit jika aplikasi penerima bergantung pada tipe-tipe tersebut.

Gunakan software pengukuran desktop

Aplikasi pengukuran dari Vector, National Instruments, Dewesoft, dan vendor sistem pengujian lainnya mungkin dapat mengimport channel CSV dan mengekspor ASAM MDF, tetapi dukungan bergantung pada produk, versi, lisensi, dan opsi yang terpasang. Alur kerja umumnya adalah File → Import → CSV, konfigurasikan delimiter, pemisah desimal, baris header, kolom timestamp, dan unit, lalu pilih perintah ekspor MDF atau MDF4 milik produk tersebut. Pastikan dalam dokumentasi bahwa output-nya adalah ASAM MDF, bukan file proprietary dengan ekstensi .mdf.

Untuk konversi yang dapat diulang atau diotomatisasi, asammdf biasanya lebih mudah diaudit daripada import grafis karena pembuatan timestamp, unit, kebijakan nilai yang hilang, dan versi output dinyatakan secara eksplisit dalam script.

Import CSV ke database SQL Server

Jika file yang diperlukan adalah .mdf SQL Server, buat database di SQL Server Management Studio atau SQL Server Express, lalu gunakan Tasks → Import Flat File atau SQL Server Import and Export Wizard. Pilih CSV, atur delimiter, text qualifier, encoding, tipe kolom, penanganan null, dan tabel tujuan, lalu biarkan SQL Server membuat atau memperluas database.

Periksa tipe kolom yang diinferensikan sebelum melakukan import: identifier dengan angka nol di awal harus berupa teks, tanggal memerlukan format yang tidak ambigu, dan nilai numerik panjang mungkin memerlukan decimal atau bigint. Hasilnya adalah database SQL Server yang datanya mungkin berada dalam file .mdf; CSV itu sendiri tidak dikonversi menjadi file pengukuran ASAM. Tool seperti Full Convert dapat memigrasikan data CSV ke database SQL Server jika didukung, tetapi tidak menggantikan pengelolaan file database oleh SQL Server.

Pemeriksaan kualitas dan kompatibilitas

  • Basis waktu: Jika CSV tidak memiliki timestamp, hitung berdasarkan sample rate yang terdokumentasi; pada 100 Hz, gunakan interval 0,01 detik. Basis waktu yang diinferensikan tidak dapat memulihkan timing yang tidak diketahui, sample yang terlewat, jeda, atau event trigger.
  • Delimiter dan locale: Konfigurasikan pemisah koma versus titik koma serta titik desimal versus koma desimal. Pengaturan yang salah dapat menggeser field atau mengimport nilai numerik sebagai teks.
  • Reading yang hilang: Tentukan bagaimana sel kosong, NaN, dan nilai tidak valid harus direpresentasikan. Mengganti gap dengan nol akan mengubah pengukuran kecuali aturan tersebut didokumentasikan.
  • Kehilangan metadata: CSV biasanya tidak dapat menyediakan definisi message CAN, formula konversi ECU, identitas perangkat akuisisi, informasi trigger, kalibrasi, atau detail sinkronisasi asli. Tambahkan metadata yang diperlukan setelah import.
  • Versi dan ekstensi: Gunakan .mf4 untuk MDF4 kecuali tujuan secara khusus memerlukan MDF3. Mengganti nama .csv menjadi .mdf tidak melakukan konversi apa pun, dan file .mdf ASAM tidak boleh diberikan ke SQL Server.
  • Layanan online: Converter umum jarang mendukung pembuatan ASAM MDF atau SQL Server MDF yang sesuai standar. Jangan upload data kendaraan, laboratorium, atau proprietary kecuali layanan tersebut secara eksplisit mendokumentasikan tipe MDF yang diperlukan, validasi output, kebijakan penyimpanan, dan kebijakan penghapusan; validasi file yang diunduh dengan aplikasi target.

CSV vs MDF: perbandingan format

Bagaimana format CSV dan MDF dibandingkan pada properti yang paling penting untuk konversi ini.

Perbandingan format file CSV dan MDF
Properti .CSV Comma-Separated Values .MDF Media Descriptor File
Standar terbuka Ya Tidak
Kompresi Tanpa kompresi Keduanya
Ukuran file umum Kecil Besar
Terbuka di browser web Ya, secara native Tidak
Pengeditan lanjutan Mudah Tidak dapat diedit langsung
Dukungan metadata Dasar Dasar
Dapat dibaca teks biasa Ya Tidak
Paling cocok untuk Pertukaran data Arsip jangka panjang
Diperkenalkan — 2000
Pengembang — Alcohol Soft
Tipe MIME text/csv —

Konversi berkas csv lainnya

Konversi terbalik

Konversi ke mdf
dari format lain

Bagikan di media sosial: