自制手机联系人导入工具:用python生成VCF文件

        工作中经常批量导入联系人,比如红米手机就不能直接导入excel表。如下图:

通过网络研究了一下VCF文件的格式,大致如下:

BEGIN:VCARD
VERSION:3.0
N;CHARSET=UTF-8:张三
FN;CHARSET=UTF-8:张三
TEL;TYPE=CELL:13012341234
END:VCARD

于是,我们用python来写一个小程序,实现这个功能。我们分两步来写。

第一个文件,是生成一个excel模板,方便我们把已有的联系人及电话号码复制到这个模板上。

import openpyxl

# 生成模板
def create_template():
    # 创建一个工作簿
    workbook = openpyxl.Workbook()

    # 选择活动工作表
    sheet = workbook.active

    # 设置表头
    sheet['A1'] = '姓名'
    sheet['B1'] = '电话'

    # 保存到文件
    workbook.save('VCF生成器模板.xlsx')

if __name__ == '__main__':
    create_template()

第二个文件,是读取刚才的excel模板,并按照VCF文件的格式,生成vcf文件:

import openpyxl
import datetime

# 读取联系人,并生成VCF文件
def create_vcf():
    # 使用openpyxl.load_workbook()函数打开Excel文件
    workbook = openpyxl.load_workbook('VCF生成器模板.xlsx')

    # 选择工作表(sheet)
    sheet = workbook.active

    # 返回值
    ret = ''

    # VCF模板
    vcf = '''BEGIN:VCARD
VERSION:3.0
N;CHARSET=UTF-8:{}
FN;CHARSET=UTF-8:{}
TEL;TYPE=CELL:{}
END:VCARD\r'''

    # 遍历工作表中的单元格并获取内容
    for row in sheet.iter_rows(min_row=2):
        ret += vcf.format(row[0].value, row[0].value, row[1].value)

    # 获取当前日期和时间
    current_date = datetime.datetime.now()

    # 将日期格式化为字符串
    formatted_date = current_date.strftime("%Y%m%d")
    with open("{}联系人.vcf".format(formatted_date), "w", encoding="utf-8") as f:
        f.write(ret)


if __name__ == '__main__':
    create_vcf()

为了方便分享给他人使用,生成两个exe文件:

有何建议请留言。

本来想上传分享给大家,结果CSDN不允许。需要的留言。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值