#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import csv

def create_vcard(qqid, phoneid, carrier, locate):
    """
    生成单条 vCard（v3.0）字符串。
    """
    vcard_lines = [
        "BEGIN:VCARD",
        "VERSION:3.0",
        f"N:{qqid};;;;",               # 姓名（这里用 qqid）
        f"FN:{qqid}",
        f"ORG:{carrier}",
        f"TEL;TYPE=CELL:{phoneid}",
        f"ADR;TYPE=HOME:;;{locate};;;;",  # 省市信息放在街道字段
        "END:VCARD"
    ]
    return "\n".join(vcard_lines)

def csv_to_vcf(csv_path, vcf_path):
    with open(csv_path, newline='', encoding='utf-8') as csvfile, \
         open(vcf_path, 'w', encoding='utf-8') as vcffile:
        reader = csv.DictReader(csvfile, fieldnames=["qqid", "phoneid", "carrier", "locate"])
        for row in reader:
            vcard = create_vcard(
                qqid=row["qqid"].strip(),
                phoneid=row["phoneid"].strip(),
                carrier=row["carrier"].strip(),
                locate=row["locate"].strip()
            )
            vcffile.write(vcard + "\n")

if __name__ == "__main__":
    csv_path = "shenzhen_69.csv"
    vcf_path = "shenzhen_69.vcf"
    csv_to_vcf(csv_path, vcf_path)
    print(f"已生成 {vcf_path}")

