Převod souboru TXT do VCARD
Převeďte strukturovaný seznam kontaktů TXT na kompatibilní soubor vCard pro import do telefonu a adresáře.
Převádějte soubory TXT online
Pro převod TXT do VCARD zatím vlastní online konvertor nemáme, ale soubory TXT můžete online převést do těchto a dalších formátů:
Jak převést soubor txt do formátu vcard
- Soubory kontaktů a adresářů
- Dosud nehodnoceno.
Telefony a aplikace adresáře běžně importují kontakty ze souborů .vcf, nikoli ze seznamů prostého textu. Převodem strukturovaného seznamu kontaktů TXT vznikne soubor, který lze přenášet mezi zařízeními, sdílet nebo importovat do e-mailového a kontaktního software.
Co je formát TXT
.txt je nestrukturovaný formát prostého textu používaný aplikacemi Notepad, TextEdit, nástroji terminálu, staršími aplikacemi a ručně spravovanými seznamy kontaktů. Nemá žádná standardní pole kontaktu ani oddělovač.
Seznam kontaktů může obsahovat jeden kontakt na řádek, sloupce oddělené čárkami nebo tabulátory či popisky jako Name:, Phone: a Email:. Před převodem obsah zkontrolujte; samotná přípona nedokáže určit, která hodnota je příjmení, telefonní číslo, poštovní směrovací číslo nebo poznámka.
Co je formát vCard
vCard je strukturovaný standard kontaktů, který se obvykle ukládá s příponou .vcf. Může obsahovat formátované jméno, strukturované křestní jméno a příjmení, telefonní čísla, e-mailové adresy, organizaci, poštovní adresu, web, poznámky a v závislosti na verzi a aplikaci také fotografii kontaktu.
Jeden soubor VCF může obsahovat jeden kontakt nebo více kontaktů. vCard 3.0 je obecně kompatibilnější se staršími telefony a adresáři na počítači; vCard 4.0 nabízí novější funkce, ale není podporována každým importérem. Android, iOS, Outlook, Thunderbird, Apple Contacts a Google Contacts podporují vCard, ačkoli mapování polí se mezi aplikacemi liší.
Převod TXT pomocí LibreOffice a Thunderbirdu
- Otevřete soubor TXT v LibreOffice Calc. V dialogu importu vyberte Separated by a zvolte skutečný oddělovač, například Tab, čárku nebo středník. Zkontrolujte, zda se každé pole nachází ve správném sloupci.
- Tabulku vyčistěte a použijte řádek záhlaví s jednoznačnými názvy, například
First Name,Last Name,Mobile Number,EmailaOrganization. Uložte ji jakocontacts.csvprostřednictvím File → Save As. - Otevřete adresář Thunderbirdu a zvolte Tools → Import. Vyberte možnost importu CSV nebo textového adresáře a poté namapujte každý zdrojový sloupec na odpovídající pole Thunderbirdu.
- U několika importovaných záznamů zkontrolujte prohozená jména, ztracené úvodní nuly, nesprávné typy telefonních čísel, poškozené znaky s diakritikou a chybně vytvořené e-mailové adresy.
- Vyberte ověřené kontakty a zvolte Tools → Export. Výsledek uložte jako
contacts.vcf; pokud Thunderbird nabízí volbu verze, vyberte vCard 3.0.
Názvy nabídek se mezi verzemi Thunderbirdu mohou mírně lišit. Pokud průvodce importem soubor nerozpozná jako CSV, nejprve jej z Calcu uložte jako CSV oddělené čárkami s kódováním UTF-8.
Použití místního skriptu Python pro data oddělená tabulátory
Skript je vhodný, pokud má soubor TXT řádek záhlaví s názvy name, phone, email a volitelně organization, přičemž na každém řádku je jeden kontakt oddělený tabulátory. Uložte jej jako txt_to_vcard.py:
import csv
import sys
def escape(value):
value = str(value or '').replace('\\r\\n', '\\n').replace('\\r', '\\n')
return value.replace('\\', '\\\\').replace(';', '\\;').replace(',', '\\,').replace('\\n', '\\n')
def fold(line):
parts = []
current = ''
limit = 75
for character in line:
if len((current + character).encode('utf-8')) > limit:
parts.append(current)
current = ' ' + character
limit = 74
else:
current += character
parts.append(current)
return '\\r\\n'.join(parts)
with open(sys.argv[1], encoding='utf-8-sig', newline='') as source, open('contacts.vcf', 'w', encoding='utf-8', newline='') as output:
contacts = csv.DictReader(source, delimiter='\\t')
for contact in contacts:
full_name = (contact.get('name') or '').strip()
name_parts = full_name.split()
family = name_parts[-1] if name_parts else ''
given = ' '.join(name_parts[:-1])
lines = [
'BEGIN:VCARD',
'VERSION:3.0',
'FN:' + escape(full_name),
'N:' + escape(family) + ';' + escape(given) + ';;;'
]
phone = escape(contact.get('phone', ''))
email = escape(contact.get('email', ''))
organization = escape(contact.get('organization', ''))
if phone:
lines.append('TEL;TYPE=CELL:' + phone)
if email:
lines.append('EMAIL:' + email)
if organization:
lines.append('ORG:' + organization)
lines.extend(['END:VCARD'])
output.write('\\r\\n'.join(fold(line) for line in lines) + '\\r\\n')Spusťte jej příkazem python txt_to_vcard.py contacts.txt. Skript vytvoří soubor contacts.vcf v aktuálním adresáři. Jeho parser jmen považuje poslední slovo oddělené mezerou za příjmení, proto tuto logiku upravte pro složená příjmení, tituly, přípony nebo samostatné sloupce pro křestní jméno a příjmení.
Použití online převaděče pro necitlivá data
Online služby jako CloudConvert nebo Online-Convert mohou poskytovat převod z CSV do VCF, ale přímá podpora TXT a mapování polí se liší. Pokud služba nepřijme oddělovač TXT správně, otevřete soubor v LibreOffice Calc, uložte jej jako CSV v kódování UTF-8 a tento CSV soubor převeďte do VCF. Nahrávejte pouze malý anonymizovaný vzorek nebo neveřejné kontakty; seznam kontaktů obsahuje osobní údaje a služba si je může ponechat. Místní postup s Thunderbirdem nebo skriptem tomuto zveřejnění zabrání.
Kontrola kvality a kompatibility
TXT nemá univerzální schéma kontaktů, takže automatický převod nedokáže spolehlivě odvodit význam polí. Před exportem normalizujte telefonní čísla, zachovejte kódy zemí a zkontrolujte hodnoty obsahující čárky, tabulátory, středníky, zalomení řádků nebo úvodní nuly.
Používejte UTF-8, aby se zachovala jména s diakritikou. Textové hodnoty vCard vyžadují escapování zpětných lomítek, čárek, středníků a zalomení řádků; vygenerované řádky by se také měly zalamovat, pokud překročí limit délky řádku vCard. Před importem velkého souboru otestujte několik záznamů a poté zkontrolujte duplicitní kontakty, zkrácená pole, nepodporované fotografie a nesprávné mapování jmen nebo typů telefonních čísel.
TXT vs VCARD: srovnání formátů
Jak si formáty TXT a VCARD stojí v nejdůležitějších vlastnostech pro tento převod.
| Vlastnost | .TXT Plain Text File | .VCARD vCard |
|---|---|---|
| Otevřený standard | Ano | Ano |
| Komprese | Bez komprese | Bez komprese |
| Typická velikost souboru | Velmi malé | Velmi malé |
| Otevírá se ve webovém prohlížeči | Ano, nativně | Ne |
| Další úpravy | Snadné | Snadné |
| Podpora metadat | Žádné | Základní |
| Čitelný jako prostý text | Ano | Ano |
| Nejvhodnější pro | Výměna dat | Sdílení a distribuce |
| Zavedeno | — | 1996 |
| Vývojář | — | IETF |
| MIME typ | text/plain | text/vcard |
Databáze v současné době neobsahuje žádný program na konverzi souborů txt.
Často kladené otázky
Zůstanou při převodu TXT na vCard všechny kontaktní údaje?
Spolehlivě se přenesou pouze kontaktní údaje, které lze identifikovat ve strukturovaném souboru TXT. Nerozpoznané sloupce, formátování a další text mohou být vynechány nebo vloženy do pole poznámek v závislosti na pravidlech převodu.
Lze převést seznam kontaktů z TXT do více vCard?
Ano, pokud soubor TXT obsahuje jasné oddělovače mezi kontakty a konzistentní názvy polí. Bez těchto označení může dojít ke sloučení několika lidí do jednoho kontaktu nebo k rozdělení jedné osoby do více kontaktů.
Proč jsou po převodu TXT na vCard jména nebo telefonní čísla nesprávně?
TXT nemá univerzální strukturu seznamu kontaktů, takže čárky, tabulátory, konce řádků, záhlaví a formáty telefonních čísel mohou být interpretovány nesprávně. Pro přesné mapování polí jsou důležité konzistentní názvy a oddělovače.
Zachová převod TXT na vCard jména s diakritikou a speciální znaky?
Obvykle ano, pokud je správně zpracováno kódování zdrojového textu i znakové kódování vCard. Nesoulad může způsobit zkomolení diakritiky nebo jiných symbolů a kompatibilita také závisí na verzi vCard podporované adresářem.