import openpyxl as px
from pynput.mouse import Button, Controller
import time
f = open("D:/vcards_20201105.txt", "rb")
lines = f.readlines()
#print(lines)
print(type(lines))
wb = px.Workbook()
ws = wb.active
wb.save("D:/华为手机通讯录.xlsx")
i = 1
for line in lines:
#print(line)
m = line.decode()
#print(m)
if "TEL;:1" in m:
m = m.replace("TEL;:", "")
m = m.replace(" ", "")
print(m)
#time.sleep(1)
ws.cell(i, 1).value = i
ws.cell(i, 2).value = m
i += 1
wb.save("D:/华为手机通讯录.xlsx")
else:
pass
wb.save("D:/华为手机通讯录.xlsx")
代码如上。
怎么用呢?用华为手机自带功能将通讯录转化保存为vcf格式,用邮件或用华为分享发送到电脑上。用文本格式打开并另存为txt。运行上述代码,即可批量提取电话号码。
当然,至于对应的人名,目前未能提取到,是编码格式的问题。vcf转成了txt,就成了二进制格式?怎么转化成汉字?请大神继续研究。