Vobject- Ввод номера факса в Vcard
Я пишу простой сценарий, который использует электронную таблицу Excel в качестве источника для создания нескольких Vcards (список телефонов нашей компании).
Я могу успешно опросить электронную таблицу, используя модуль xlrd для получения телефонных номеров, адресов электронной почты и т. Д. Я также жестко закодировал некоторую информацию (заметки и т. Д.) В сценарии, чтобы я мог проверить основную функцию, прежде чем помещать всю информацию в электронной таблице. Кажется, все работает правильно, кроме того, что я не могу записать номера факсов на Vcard. Я использую MS Outlook, чтобы открывать Vcards после того, как они сгенерированы, и поэтому не уверен, есть ли проблема. Все выглядит нормально для меня, когда я открываю карточку в текстовом редакторе.
Всем советую добро пожаловать!
Спасибо!
обкрадывать
from xlrd import open_workbook
import vobject
Address_book_spreadsheet = 'C:\\Address.xls'
Address_book_object = open_workbook(Address_book_spreadsheet, 'rb')
Address_book = Address_book_object.sheet_by_index(1)
Number_of_entries = Address_book.nrows
Pointer = 1
print Address_book_object
print Number_of_entries
print Pointer
print Address_book.cell(Pointer,1)
for row_index in range (Number_of_entries - 1):
surname = str(Address_book.cell(Pointer,3).value)
christian_name = str(Address_book.cell(Pointer,0).value)
email = str(Address_book.cell(Pointer,10).value)
mobile = str(Address_book.cell(Pointer,7).value)
business_phone = str(Address_book.cell(Pointer,6).value)
output_file = "C:\\" + surname + '_' + christian_name + ".vcf"
fout = open(output_file, 'w')
j = vobject.vCard()
o= j.add('fn')
o.value = christian_name + surname
o = j.add('n')
o.value = vobject.vcard.Name( family= surname, given= christian_name )
o= j.add('email')
o.type_param = 'INTERNET'
o.value = email
o= j.add('tel')
o.type_param = 'CELL'
o.value = '66666666666'
o = j.add('tel')
o.type_param = 'WORK'
o.value = '55555555'
o = j.add('tel')
o.type_param = 'HOME'
o.value = '+61 8 0000 4448'
o = j.add('tel')
o.type_param = 'FAX'
o.value = '+61 8 000 4448'
o=j.add('tel')
o.type_param = 'RADIO'
o.value = 'HUD269'
o=j.add('org')
o.value = ["Charlie's Chocolate Factory"]
o=j.add ('adr')
o.type_param = 'BUSINESS'
o.value.street = 'Chocolate Factory Road'
o.value.region = 'Western Australia'
o.value.city = 'Perth'
o.value.country = 'Australia'
o.value.code = '6000'
o=j.add('url')
o.type_param = 'BUSINESS'
o.value = 'www.charlie_chocolate.net.au'
o=j.add('note')
o.value = 'A very very nice person!'
j.serialize()
print j
j.prettyPrint()
fout.write (j.serialize())
fout.close()
Pointer = Pointer + 1
BEGIN:VCARD
VERSION:3.0
ADR;TYPE=BUSINESS:;;Chocolate Factory Road;Perth;Western Australia;6000;Australia
EMAIL;TYPE=INTERNET:rkent@mother.net.au
FN:RobertKent
N:Kent;Robert;;;
NOTE:A very very nice person!
ORG:Charlie's Chocolate Factory
TEL;TYPE=CELL:66666666666
TEL;TYPE=WORK:55555555
TEL;TYPE=HOME:+61 8 0000 4448
TEL;TYPE=FAX:+61 8 000 4448
TEL;TYPE=RADIO:HUD269
URL;TYPE=BUSINESS:www.charlie_chocolate.net.au
END:VCARD