转换vcf文件到csv文件的python脚本

发布时间:2025-12-09 19:46:12 浏览次数:4

         想把手机通讯录从vcf文件格式转换到excel里,gmail不给力,win7又没装outlook,下了几个软件,不是错误一堆,就是一堆病毒,怒了,晚上用python写个小脚本试了一下,还是有几个点值得记录的。

        写的比较简单,只是解决了我自己的问题,只是解析了N、FN、TEL三个字段,对三个字段的内部格式也没有做进一步的解析。github地址:https://github.com/wsxwang/pyVcf/blob/master/vcf2csv.py,

        这个里面比较麻烦的是编码转换问题,有几个点可以总结:

1、vcf文件是utf-8编码,每个字符占用1~3个字节,读取之后需要打印调试时,需要转码:print str(cardcount) + " " + csvline.decode("utf-8")

2、vcf文件开头有BOM字符时,读取时要先跳过,代码:

if line[:3] == codecs.BOM_UTF8:
    line = line[3:];

3、转换为csv文件时,完全无需转码,只需在文件头输出BOM字符即可,可以使用excel打开(我测试的是wps),代码:fw.write(codecs.BOM_UTF8);注意,需要引用codecs。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477