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

相关推荐
2501_944521597 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理7 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
wangchunyu1149 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
程序 代码狂人10 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_9445215911 小时前
Immer 跨端三方库仓颉适配全流程
python·eclipse·django
信誓旦旦的程序猿11 小时前
【Python量化实战宝典 #26】止损与回撤控制手册:移动止损、最大回撤(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
2501_9445215911 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
Patrick在香港11 小时前
同一行 strftime,两台机器跑出两种日期
python·datetime·时区·locale·日期处理
2601_9679873711 小时前
用Python+OpenCV+YOLO写个游戏脚本:从自动瞄准到自动采集的保姆级教程
python·opencv·yolo·目标检测·游戏自动化
meiying883811 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化