108 lines
3.6 KiB
Python
108 lines
3.6 KiB
Python
'''
|
|
BEGIN:VCARD
|
|
BDAY;VALUE=DATE:1963-09-21
|
|
VERSION:3.0
|
|
N:Stenerson;Derik
|
|
FN:Derik Stenerson
|
|
ORG:Microsoft Corporation
|
|
ADR;TYPE=WORK,POSTAL,PARCEL:;Suite 101;38777 West Six Mile Road;Livonia;MI;48152;USA
|
|
TEL;TYPE=WORK,MSG:+1-425-936-5522
|
|
TEL;TYPE=WORK,FAX:+1-425-936-7329
|
|
EMAIL;TYPE=INTERNET:deriks@Microsoft.com
|
|
END:VCARD
|
|
'''
|
|
|
|
import xlrd
|
|
import pandas as pd
|
|
import os
|
|
|
|
file= 'ADRESSEN2011.xls' #If your excel file in same directory with python file u can use it
|
|
excelfile= pd.ExcelFile(file)
|
|
column = excelfile.parse('Bakkersdijk')
|
|
begin = "BEGIN:VCARD\nVERSION:4.0"
|
|
|
|
class Vcard():
|
|
def __init__(self, firstname, lastname, tussen, telephone, street, postal, city, country, email, DIV):
|
|
if(tussen == "nan"):
|
|
tussen = ""
|
|
if(telephone == "nan"):
|
|
telephone = ""
|
|
if(city == "nan"):
|
|
city = ""
|
|
if(firstname == "nan"):
|
|
firstname = ""
|
|
if(telephone == "." or telephone == "nan" or telephone == "Zuid Afrika"):
|
|
telephone = ""
|
|
if(DIV == "nan"):
|
|
DIV = ""
|
|
self.N = "N:{};{};;;\n".format(lastname, firstname)
|
|
if(tussen != ""):
|
|
self.FN = "FN:{} {} {}\n".format(firstname, tussen, lastname)
|
|
else:
|
|
self.FN = "FN:{} {}\n".format(firstname, lastname)
|
|
self.TEL = "TEL;TYPE=HOME,MSG:{}\n".format(telephone)
|
|
self.ADDR = "ADR;TYPE=WORK,POSTAL,PARCEL:;;{};{};{};{};{}\n".format(street, city, DIV, postal, country)
|
|
#self.ADDR = self.ADDR + "{};{};{};{}\n".format(street, postal, city, country)
|
|
self.ORG ="ORG:Friends\n"
|
|
self.TITLE="TITLE:\n"
|
|
|
|
|
|
def getVcard(self):
|
|
return "BEGIN:VCARD\nVERSION:3.0\n{}{}{}{}{}END:VCARD\n".format(self.N, self.FN, self.ORG, self.TEL,self.ADDR)
|
|
|
|
cards = ""
|
|
for i in range(len(column)):
|
|
'''
|
|
N:Gump;Forrest;;Mr.;
|
|
FN:Sheri Nom
|
|
TEL;TYPE#work,voice;VALUE#uri:tel:+1-111-555-1212
|
|
TEL;TYPE#home,voice;VALUE#uri:tel:+1-404-555-1212
|
|
ADR;TYPE#HOME;LABEL#"42 Plantation St.\nBaytown\, LA 30314\nUnited States of America":;;42 Plantation St.;Baytown;LA;30314;United States of America
|
|
EMAIL:sherinnom@example.com
|
|
'''
|
|
fbase = str(column["VOORNAMEN"][i])
|
|
fnames = str(column["VOORNAMEN"][i]).split(" ")
|
|
#fnames.append(str(column["VOORNAMEN"][i]).split("&"))
|
|
if("fam" in fbase):
|
|
fnames = { "Familie" }
|
|
|
|
if("&" in fbase):
|
|
fnames = str(column["VOORNAMEN"][i]).split("&")
|
|
|
|
#check for bad lastnames because of identation
|
|
lname = str(column["ACHTERNAAM"][i])
|
|
lnamesplit = str(column["ACHTERNAAM"][i]).split(" ")
|
|
if(len(lnamesplit) > 1):
|
|
lname = lnamesplit[len(lnamesplit)-1]
|
|
for name in fnames:
|
|
if(name == "en" or name == "&" or name == "mw" or name == "fam,"):
|
|
continue
|
|
if(lname == "nan"):
|
|
continue
|
|
if(name == "fam"):
|
|
name = "Familie"
|
|
fname = name
|
|
lname = lname
|
|
tussen = str(column["tussen"][i])
|
|
straat_num = str(column["STRAAT_NUM"][i])
|
|
postal = str(column["POSTCODE"][i])
|
|
city = str(column["_PLAATS"][i])
|
|
telephone = str(column["TELEFOON"][i])
|
|
DIV = str(column["DIV"][i])
|
|
country = "Netherlands"
|
|
if(DIV != "nan"):
|
|
country = "Canada"
|
|
card = Vcard(fname, lname, tussen, telephone, straat_num, postal, city, country, "", DIV)
|
|
cards += card.getVcard()
|
|
if("ruithof" in lname):
|
|
print(card.getVcard())
|
|
#print(cards)
|
|
#break
|
|
|
|
|
|
file = open("outputcards.vcf", "a")
|
|
file.write(cards)
|
|
file.close()
|
|
#N="{};{}".format(str(column["ACHTERNAAM"][i]), str(column["VOORNAMEN"][i]))
|
|
#print(N)
|
|
#if(str(column["Phone"][i])!="nan"): |