Python 将 CSV 通讯录批量导出为 VCF(vCard)并导入手机

在日常工作中我们常常需要把 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 文件,很多导入工具能支持批量导入)。

相关推荐
绘梨衣5471 小时前
异步任务队列-学习2
爬虫·python·学习·任务队列
用户8356290780512 小时前
使用 Python 在 Excel 中插入 OLE 对象
后端·python
one3122 小时前
高精度MEMS电容式倾角传感器:原理、结构与Python三维可视化
开发语言·python
程序员小八7772 小时前
Go 语言特性
开发语言·后端·golang
深蓝海拓3 小时前
基于QtPy (PySide6) 的PLC-HMI工程实战记录(七)创建适合HMI项目的数字输入/显示类部件
python
INGNIGHT3 小时前
1908 · 布尔表达式求值(stack单调栈&dfs)
开发语言·c++·算法
MartinYeung53 小时前
[论文学习]MPIB:医疗提示注入基准——针对LLM临床安全性的系统性评估
人工智能·python·学习
এ慕ོ冬℘゜3 小时前
深入理解浏览器全屏 API:从 requestFullscreen 到全屏实战
开发语言·html
用户8356290780513 小时前
使用 Python 为 PowerPoint 演示文稿添加评论
后端·python