Vai al contenuto

Convertitore online gratuito da VMSG a CSV

Estrai i record SMS dai backup VMSG in file CSV ricercabili e compatibili con i fogli di calcolo.

Converti VMSG in CSV online - gratuito

Caricamento…

Il tuo file viene elaborato istantaneamente ed eliminato non appena lo scarichi.

Come funziona

  1. 1/3

    Carica il tuo file .vmsg

    Fai clic per selezionare il file che vuoi convertire oppure trascinalo semplicemente nell'area indicata.

  2. 2/3

    Avvia la conversione da .vmsg a .csv

    Dopo il caricamento del file, fai clic su converti quando sei pronto.

  3. 3/3

    Scarica il file .csv convertito

    Il risultato della conversione è pronto per il download.

Come convertire vmsg in csv file

Un vecchio backup del telefono o un'utility di messaggistica può esportare i record SMS come .vmsg, mentre fogli di calcolo, database e strumenti di reporting generalmente richiedono .csv. La conversione trasforma i record dei messaggi in righe che possono essere cercate, filtrate, modificate o importate.

Che cos'è il formato VMSG

VMSG, chiamato anche vMessage, è un formato basato su testo utilizzato dai vecchi telefoni cellulari, dai software per la gestione del telefono e dalle utility di backup degli SMS. Un file contiene comunemente le sezioni BEGIN:VMSG, BEGIN:VENV e BEGIN:VBODY, con proprietà come TEL, DTSTART, SUBJECT, BODY, X-IRMC-BODY, X-IRMC-TYPE e X-IRMC-BOX.

VMSG è leggibile come testo normale, ma i suoi record annidati e le proprietà specifiche del produttore non vengono visualizzati automaticamente come righe e colonne. Alcuni file memorizzano il numero di telefono in una sezione VCARD circostante invece che all'interno del corpo del messaggio.

Che cos'è il formato CSV

CSV rappresenta i dati tabellari come righe e campi. Excel, LibreOffice Calc, Google Sheets, gli strumenti di importazione dei database e la maggior parte delle librerie di scripting lo supportano. Un'esportazione dei messaggi utilizza comunemente colonne come date, phone, type, folder, subject e body.

CSV è utile per ordinare in base alla data, filtrare i messaggi in entrata e in uscita, cercare nel testo dei messaggi, importare i record in un altro sistema e creare un archivio di testo compatto. Non conserva la sintassi VMSG, gli allegati, gli stati di consegna o i metadati specifici del produttore, a meno che tali valori non vengano esportati esplicitamente in colonne aggiuntive.

Convertire il file con uno script locale

Non esiste un'implementazione standard universale di VMSG: i produttori di telefoni e i programmi di backup utilizzano nomi di proprietà e codifiche differenti. Un piccolo parser locale in Python è generalmente più sicuro che caricare messaggi privati su un generico sito web di conversione.

Installa Python 3, salva quanto segue come vmsg_to_csv.py e posizionalo accanto al file sorgente:

import csv
import sys
import quopri


def decode(value, params):
    if any(p.upper() == 'ENCODING=QUOTED-PRINTABLE' for p in params):
        value = quopri.decodestring(value).decode('utf-8', errors='replace')
    slash = chr(92)
    return (value.replace(slash + 'n', '\n')
                 .replace(slash + 'N', '\n')
                 .replace(slash + ',', ',')
                 .replace(slash + ';', ';')
                 .replace(slash + slash, slash))


def convert(source, destination):
    rows = []
    record = None
    contact_tel = ''
    in_vcard = False

    with open(source, encoding='utf-8-sig', errors='replace') as handle:
        lines = []
        for raw in handle:
            line = raw.rstrip('\r\n')
            if line.startswith((' ', '\t')) and lines:
                lines[-1] += line[1:]
            else:
                lines.append(line)

    for line in lines:
        upper = line.upper()
        if upper == 'BEGIN:VCARD':
            in_vcard = True
            continue
        if upper == 'END:VCARD':
            in_vcard = False
            continue
        if upper == 'BEGIN:VBODY':
            record = {}
            continue
        if upper == 'END:VBODY':
            if record is not None:
                record['_CONTACT_TEL'] = contact_tel
                rows.append(record)
            record = None
            continue
        if ':' not in line:
            continue
        left, value = line.split(':', 1)
        parts = left.split(';')
        name = parts[0].upper()
        value = decode(value, parts[1:])
        if in_vcard and name == 'TEL':
            contact_tel = value
        elif record is not None:
            record[name] = value

    def first(row, names):
        for name in names:
            if row.get(name, ''):
                return row[name]
        return ''

    columns = ['date', 'phone', 'type', 'folder', 'subject', 'body']
    with open(destination, 'w', newline='', encoding='utf-8-sig') as handle:
        writer = csv.DictWriter(handle, fieldnames=columns)
        writer.writeheader()
        for row in rows:
            writer.writerow({
                'date': first(row, ['DTSTART', 'DATE']),
                'phone': first(row, ['TEL', 'X-IRMC-RECIPIENT', 'TO', 'FROM', '_CONTACT_TEL']),
                'type': first(row, ['X-IRMC-TYPE', 'TYPE']),
                'folder': first(row, ['X-IRMC-BOX', 'FOLDER']),
                'subject': first(row, ['SUBJECT']),
                'body': first(row, ['BODY', 'X-IRMC-BODY', 'TEXT', 'MESSAGE'])
            })


if len(sys.argv) != 3:
    raise SystemExit('Usage: python vmsg_to_csv.py input.vmsg output.csv')
convert(sys.argv[1], sys.argv[2])

Esegui python vmsg_to_csv.py messages.vmsg messages.csv. Sui sistemi che utilizzano il comando python3, esegui python3 vmsg_to_csv.py messages.vmsg messages.csv. Apri il risultato in Calc o Excel; il byte-order mark UTF-8 aiuta il software per fogli di calcolo a rilevare i caratteri non ASCII.

Prima della conversione, apri una copia del file VMSG in un editor di testo e controlla i nomi effettivi delle proprietà. Lo script riconosce gli alias comuni, tra cui BODY, X-IRMC-BODY, TEXT e MESSAGE. Se i messaggi utilizzano un altro nome, aggiungilo all'elenco del corpo nello script. Se il file utilizza un set di caratteri diverso da UTF-8, modifica la codifica di input e verifica i caratteri accentati prima di elaborare l'intero backup.

Altre opzioni di conversione

Un'utility dedicata come vmsg2csv può funzionare per una specifica variante di backup del telefono, ma verifica prima la sua origine, le proprietà supportate e l'output con una piccola copia. La disponibilità e la compatibilità delle utility meno recenti variano e molte non decodificano correttamente il testo quoted-printable, le righe ripiegate o i campi specifici del produttore.

LibreOffice Calc ed Excel possono aprire CSV, ma non sono parser VMSG affidabili. L'importazione di un file VMSG tramite File → Open funziona solo dopo che i record sono già stati normalizzati in righe delimitate.

I convertitori online generici raramente indicano VMSG come input supportato e potrebbero interpretare erroneamente la sua struttura annidata. Utilizza un servizio online solo se supporta esplicitamente VMSG, spiega le proprie norme di conservazione ed eliminazione, utilizza HTTPS e non richiede accessi all'account non necessari. Non caricare backup SMS contenenti messaggi privati, numeri di telefono o codici di autenticazione, a meno che il rischio per la privacy non sia accettabile.

Verificare i dati convertiti

Confronta diverse righe CSV con la sorgente, inclusi i messaggi contenenti virgole, interruzioni di riga, virgolette, caratteri non ASCII e corpi vuoti. Il writer CSV di Python racchiude correttamente tra virgolette le virgole e le interruzioni di riga incorporate, ma un programma del telefono potrebbe memorizzare contenuti multilinea o quoted-printable in una forma specifica del produttore che richiede un'ulteriore decodifica.

Conserva il file VMSG originale. CSV è un formato di interscambio appiattito e potrebbe omettere allegati, lo stato di lettura o consegna, la struttura dei contatti, i timestamp con informazioni sul fuso orario e i campi non inclusi nelle colonne di output selezionate.

Confronto formato: VMSG vs CSV

Come i formati VMSG e CSV si confrontano sulle proprietà più importanti per questa conversione.

Confronto dei formati VMSG e CSV
Proprietà .VMSG vMessage SMS backup .CSV Comma-Separated Values
Leggibile come testo semplice Sì Sì
Tipi di dati Non tipizzato (tutto testo) Tipizzato
Strutture nidificate No No
Formule No No
Più tabelle o fogli No No
Dimensione tipica del file Molto piccolo Piccolo
Standard aperto Parzialmente aperto Sì
Ideale per Scambio dati Scambio dati
Tipo MIME — text/csv

Le informazioni su estensioni e tipi di file sono fornite da File-Extensions.org

Domande frequenti

Il convertitore da VMSG a CSV è gratuito?

Sì, convertire VMSG in CSV su 101convert.com è completamente gratuito. Non sono richiesti registrazione, e-mail o installazione. Se hai bisogno di un limite di dimensione del file più alto o vuoi convertire più file alla volta, consulta i nostri piani.

Quanto può essere grande il mio file VMSG?

Puoi caricare file VMSG fino a 3 MB e convertire fino a 3 file alla volta in un unico lotto. Con un piano a pagamento il limite sale fino a 50 MB per file e 100 file alla volta, consulta i nostri piani.

Cosa succede ai file caricati?

I file vengono elaborati automaticamente ed eliminati dai nostri server pochi minuti dopo la conversione. Non visualizziamo né condividiamo mai i tuoi file.

Devo installare un software per convertire VMSG in CSV?

No. La conversione da VMSG a CSV avviene completamente online nel browser e funziona su Windows, Mac, Linux, Android e iPhone.

La conversione non è riuscita?

Nella maggior parte dei casi, la causa è un formato di file errato. Carica un file VMSG valido per questa conversione da VMSG a CSV. A volte il problema può dipendere anche da noi. Analizziamo gli errori di conversione ricorrenti e disattiviamo o ripariamo il convertitore se rileviamo un difetto.

Quali informazioni vengono conservate convertendo VMSG in CSV?

La conversione estrae dai record VMSG i campi degli SMS, come mittente o destinatario, data e ora e testo del messaggio, quando tali campi sono presenti. Eventuali campi aggiuntivi supportati solo da una particolare variante VMSG potrebbero non avere una colonna CSV corrispondente.

Gli allegati e la formattazione dei messaggi vengono mantenuti nella conversione da VMSG a CSV?

No, CSV memorizza i dati degli SMS come testo semplice e campi tabellari, quindi gli allegati, la formattazione avanzata e la struttura originale dei record VMSG non vengono conservati. Le interruzioni di riga all'interno di un messaggio possono rimanere come contenuto della cella, ma non manterranno la presentazione originale.

Posso convertire CSV di nuovo nel backup VMSG originale?

Di solito non esattamente, perché CSV non conserva tutta la struttura VMSG, i metadati o i dettagli di codifica. È meglio considerarlo un'esportazione modificabile e ricercabile anziché un backup reversibile.

Perché alcuni messaggi VMSG mancano o vengono divisi nelle colonne sbagliate in CSV?

Può succedere quando il backup utilizza una variante VMSG non standard, contiene record danneggiati o usa una codifica dei caratteri insolita. Le virgole, le virgolette o le interruzioni di riga nel testo dei messaggi devono essere gestite come dati CSV e i record malformati possono impedire un'estrazione affidabile dei campi.

Altre conversioni di file .vmsg

Conversione in .csv
da altri formati

Condividi sui social media:

Già scaricato

Questo file è già stato scaricato. Per tutelare la tua privacy lo abbiamo eliminato dal nostro server subito dopo il download, quindi non può essere scaricato di nuovo. Se ti serve ancora, converti di nuovo il file.