oppo手机导出联系人vcf文件转execl表格

oppo手机导出联系人vcf文件转execl表格

import vobject
from openpyxl import Workbook
import re


def read_vcf(file_path):
    with open(file_path, 'r') as file:
        vcard_string = file.read()
        pattern = r"BEGIN:VCARD"
        result = re.split(pattern, vcard_string)
        vcard = []
        for i in result[1:]:
            i = "BEGIN:VCARD" + i
            try:
                vcard.append(vobject.readOne(i))
                print(i)
            except:
                pass
    print(vcard)
    return vcard


def write_excel(vcard, output_file):
    workbook = Workbook()
    sheet = workbook.active

    # 写入表头
    sheet.cell(row=1, column=1, value='姓名')
    sheet.cell(row=1, column=2, value='电话号码')
    print(str(vcard))
    # 写入联系人信息
    row = 2
    for i in vcard:
        try:
            for contact in i.contents['fn']:
                sheet.cell(row=row, column=1, value=str(contact.value))

            for contact in i.contents['tel']:
                sheet.cell(row=row, column=2, value=str(contact.value))
        except:
            pass
        row += 1

    workbook.save(output_file)


if __name__ == '__main__':
    # 读取vcf文件
    vcf = read_vcf('contacts.vcf')
    # 转换为Excel文件
    write_excel(vcf, 'contacts.xlsx')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值