在日常工作中我们常常需要把 Excel/CSV 格式的通讯录导入手机或邮件客户端。vCard(.vcf)是最常见的联系人交换格式。本文演示一个简单的 Python 脚本把 CSV 转为 VCF,并给出更完整的增强版代码与注意事项,帮助你稳定、可靠地批量导入联系人。
一、Excel源文件准备
Excel表格,导出文件格式为CSV UTF-8(逗号分隔)(*.csv)格式
表格假设内容如下
| 姓名 | 电话 |
|---|---|
| Abc | 123456 |
| ABc | 654321 |
| ... | ... |
另存为:通讯录.csv
二、Python代码处理转换格式,将CSV导出为VCF
python
import csv
# 输入文件路径
input_csv = r'C:\Users\53446\Desktop\通讯录.csv'
# 输出VCF文件路径(保存在同一目录)
output_vcf = r'C:\Users\53446\Desktop\通讯录.vcf'
# 读取CSV并转换为VCF
with open(input_csv, 'r', encoding='utf-8-sig') as csvfile: # utf-8-sig 支持带BOM的中文CSV
reader = csv.reader(csvfile)
next(reader) # 跳过表头(首行是"姓名"和"电话")
with open(output_vcf, 'w', encoding='utf-8') as vcf_file:
for row in reader:
if len(row) < 2:
continue # 跳过空行或格式错误的行
name = row[0].strip()
phone = row[1].strip()
if not name or not phone:
continue
vcf_file.write("BEGIN:VCARD\n")
vcf_file.write("VERSION:3.0\n")
vcf_file.write(f"FN:{name}\n")
vcf_file.write(f"N:{name};;;\n")
vcf_file.write(f"TEL;TYPE=CELL:{phone}\n")
vcf_file.write("END:VCARD\n\n")
print(f"转换完成!VCF文件已保存至:{output_vcf}")
三、将VCF文件导入到手机
本人的手机是小米,在电脑上登录小米账号的我的小米云服务

点击通讯录

成功导入手机通讯录,这时候我们可以回到手机用,短信群组批量向领导发送会议提醒短信。
其他方式:导入到手机 / Outlook
Android:
把 .vcf 文件复制到手机(或通过邮件/云盘下载),打开"联系人"-> 导入/导出 -> 从存储导入 -> 选择该 vcf 文件。
iPhone:
通过 iCloud 导入:登录 iCloud.com -> 联系人 -> 左下角设置 -> 导入 vCard。
或通过邮件把 .vcf 发到 iPhone 上,点开附件即可导入(如果联系人数量大,建议用 iCloud)。
Outlook:
Outlook 支持导入 vCard,方法取决于 Outlook 版本。一般可在"文件"->"打开与导出"->"导入/导出" -> 导入VCF(如果是多个 vCard,可能需要一个个导入;也可以将多个 vCard 合并到一个 .vcf 文件,很多导入工具能支持批量导入)。