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 文件,很多导入工具能支持批量导入)。

相关推荐
怕浪猫6 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
高洁016 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记6 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
朝朝辞暮i6 小时前
VLA 系统学习第 1 课:VLA 到底在干什么?
人工智能·python·计算机视觉·vla
2601_962885727 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
爱吃奥利奥_wen7 小时前
面向对象三板斧:封装、继承、多态,到底在“装“什么、“承“什么、“变“什么?
开发语言·经验分享·c#
北冥有鱼被烹7 小时前
VCSEL全景解析:与光模块NPO CPO的关系、市场量化分析与产业链影响
python
我可能是个假开发7 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
caoerzhong8 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
正在走向自律8 小时前
AI数据分析与可视化:从基础到应用实践
服务器·人工智能·python·机器学习·数据分析·pandas