Converti ABCDDB in CSV
Esporta i dati di Apple Contacts in CSV tramite vCards per fogli di calcolo, CRM e importazioni di contatti.
Crea file CSV online
Non sappiamo ancora leggere i file ABCDDB, quindi questa conversione non è disponibile. Se puoi esportare il tuo lavoro in uno di questi formati o in altri, ne ricaviamo un CSV:
Vuoi convertire ABCDDB in CSV?
Faccelo sapere. Scegliamo le prossime conversioni da aggiungere in base all'interesse.
Come convertire abcddb in csv file
- Contatti e rubriche indirizzi
- Ancora nessuna valutazione.
I software per fogli di calcolo, CRM e mailing list generalmente non possono aprire direttamente il database interno ABCDDB di Apple, quindi i contatti devono prima essere esportati in un formato portatile. La conversione dei vCard esportati in CSV rende i record utilizzabili nelle applicazioni che richiedono righe e colonne.
Cos'è il formato ABCDDB
ABCDDB è il formato di database interno utilizzato da macOS Address Book e Contacts. Un nome file comune è AddressBook-v22.abcddb, generalmente all'interno di ~/Library/Application Support/AddressBook/; il nome file, lo schema e la posizione esatti variano in base alla versione di macOS.
È un database applicativo basato su SQLite, non un formato per lo scambio di contatti. La cartella AddressBook circostante può contenere foto dei contatti, indici, dati degli account, metadati e altri file. Non rinominare il file in .csv e non modificare le relative tabelle SQLite, a meno che non si stia eseguendo un recupero dati specializzato; l'estrazione diretta dal database può esporre dettagli privati dello schema e produrre contatti incompleti, duplicati o collegati in modo errato.
Cos'è il formato CSV
CSV rappresenta una tabella come record separati da righe e campi separati da un delimitatore, normalmente una virgola. Le applicazioni per fogli di calcolo, i CRM, i database, i sistemi di mailing list e molti strumenti di importazione dei contatti lo accettano.
CSV può contenere valori comuni come nomi, organizzazioni, qualifiche professionali, numeri di telefono, indirizzi email, indirizzi postali e note. Non dispone di uno standard universale per campi, etichette, codifica o caratteri di escape e non può conservare nativamente foto dei contatti, gruppi, schede collegate, metadati degli account o tutti i campi personalizzati di Apple.
Come convertire i contatti
Esportare vCard da Contacts
- Esci da Contacts ed esegui un backup dell'intera cartella
~/Library/Application Support/AddressBook/, invece di affidarti alla copia di un singolo file di database. - Apri Contacts sul Mac contenente i record. Se i contatti appartengono a iCloud, Exchange, Google o a un altro account, attendi il completamento della sincronizzazione.
- Seleziona le schede desiderate oppure premi
Command-Aper selezionarle tutte. - Scegli File → Export → Export vCard e salva il file
.vcfrisultante. - Converti il file
.vcfin CSV con un'utilità o uno script locale. Le applicazioni desktop per la conversione da vCard a CSV possono offrire la mappatura dei campi; uno script locale garantisce un maggiore controllo ed evita di caricare online i dati personali dei contatti.
Per un'esportazione di piccole dimensioni e non sensibile, servizi online come CloudConvert o Convertio possono fornire la conversione da VCF a CSV. Verifica che il servizio supporti attualmente l'input .vcf e l'output CSV e controlla i termini relativi alla conservazione e all'eliminazione dei dati prima di caricare una rubrica.
Convertire localmente i vCard con Python
Installa il parser:
python3 -m pip install vobject
Salva quanto segue come vcf_to_csv.py. Legge le proprietà standard vCard relative a nome, organizzazione, indirizzo, email, telefono e note e scrive un file CSV codificato in UTF-8:
import csv
import sys
import vobject
source, destination = sys.argv[1], sys.argv[2]
fields = [
"first_name", "last_name", "organization", "title",
"email", "phone", "street", "city", "region", "postal_code",
"country", "note"
]
def items(card, name):
return card.contents.get(name, [])
def text(value):
if isinstance(value, (list, tuple)):
return ", ".join(str(x) for x in value)
return str(value) if value is not None else ""
def first(card, name):
values = items(card, name)
return text(values[0].value) if values else ""
def name_parts(card):
values = items(card, "n")
if not values:
return "", ""
name = values[0].value
return text(name.given), text(name.family)
with open(source, encoding="utf-8") as handle:
cards = list(vobject.readComponents(handle.read()))
with open(destination, "w", newline="", encoding="utf-8-sig") as output:
writer = csv.DictWriter(output, fieldnames=fields)
writer.writeheader()
for card in cards:
given, family = name_parts(card)
addresses = items(card, "adr")
address = addresses[0].value if addresses else None
writer.writerow({
"first_name": given,
"last_name": family,
"organization": first(card, "org"),
"title": first(card, "title"),
"email": "; ".join(text(x.value) for x in items(card, "email")),
"phone": "; ".join(text(x.value) for x in items(card, "tel")),
"street": text(address.street) if address else "",
"city": text(address.city) if address else "",
"region": text(address.region) if address else "",
"postal_code": text(address.code) if address else "",
"country": text(address.country) if address else "",
"note": first(card, "note"),
})
Eseguilo con:
python3 vcf_to_csv.py contacts.vcf contacts.csv
Quando importi contacts.csv, seleziona la codifica UTF-8 e la virgola come delimitatore, se l'applicazione di destinazione lo richiede. Il BOM UTF-8 utilizzato dallo script aiuta alcune versioni di Microsoft Excel a rilevare correttamente i caratteri non ASCII.
Limiti di qualità e compatibilità
Lo script combina più indirizzi email e numeri di telefono in un unico campo, separandoli con punti e virgola. Se la destinazione richiede colonne separate, modifica lo script in modo che scriva campi come email_1, email_2, phone_1 e phone_2.
Viene scritto solo il primo indirizzo postale. Le etichette degli indirizzi, gli indirizzi aggiuntivi, i gruppi di contatti, le foto, i compleanni, gli URL, le relazioni, i campi personalizzati e alcuni metadati specifici degli account vengono omessi, a meno che lo script o lo schema di destinazione non vengano estesi.
Controlla i nomi, i numeri di telefono internazionali, gli indirizzi su più righe, le etichette, le schede duplicate, i caratteri non ASCII e i campi vuoti dopo l'importazione. CSV non dispone di uno schema fisso per i contatti, quindi le regole di mappatura dei campi dell'applicazione di destinazione determinano il modo in cui viene interpretata ciascuna colonna.
Le informazioni su estensioni e tipi di file sono fornite da File-Extensions.org