Recently I bought a Nokia E-63 Symbian Series 60 3rd edition smartphone. It looks similar to the Blackberry smartphones. It has got QWERTY keypad, WiFi, 2MP Camera, 3G and Bluetooth. I have been using Nokia 6300 for a long time; and a month ago it fell down and the panel got broken. After the fall it had a poor voice clarity and I was thinking of taking a new phone. Finally I decided to take a QWERTY handset for the sole purpose of Social Networking and ended up with Nokia E-63 which is the cheapest QWERTY handset with WiFi.
The biggest challenge of moving from Nokia 6300 to E-63 was to transfer all the contacts. As I had more than 300 entries in my phonebook, copying it to the SIM wasn’t a good idea. So I installed Gnokii on Ubuntu and backed up all the contacts from 6300 into a vcf file issuing the following command
gnokii --getphonebook ME 1 end --vcard > myphonebook.vcf
Then I copied myphonebook.vcf to E-63 memory card’s Other/Contacts directory using the USB data cable shipped with the handset. The “Copy from Memory Card” option in the Handsets wasn’t woking for the above vCard file which is containing all the contacts. As I opened that file in File Manager, it was showing only the first contact. That means it reads only one contact entry from a single vcf file. So I wrote a Python script to split myphonebook.vcf into single contact vcf files.
#! /usr/bin/env python """ File: split_vcf.py A Python Script to split vcf files generated by gnokii into multiple contacts so that most of the Nokia mobiles can restore it. """ import sys import os def split(): if len(sys.argv) < 2: print 'Specify vcf file' sys.exit() gnokii_vcf = os.path.abspath(sys.argv[1]) if not os.path.exists(os.path.join( os.path.dirname(gnokii_vcf), 'contacts')): os.mkdir(os.path.join(os.path.dirname(gnokii_vcf), 'contacts')) vcf = [] number = 0 for line in open(gnokii_vcf, 'r').readlines(): if line.startswith('\n') or line.startswith('\r\n'): continue elif line.startswith('END'): vcf.append(line) print 'Writing contact number', number contact = open(os.path.join(os.path.dirname(gnokii_vcf), 'contacts', str(number) + '.vcf'), 'w') contact.writelines(vcf) contact.close() number += 1 vcf = [] else: vcf.append(line) def copy(): gnokii_vcf = os.path.abspath(sys.argv[1]) for contact in os.listdir(os.path.dirname(gnokii_vcf)): print 'Copying %s to Phone' % contact os.system('gnokii --writephonebook --vcard <%s' %contact) if __name__ == '__main__': split()
Run it and you will get a directory named contacts flooded with vcf files.
python split_vcf.py myphonebook.vcf
Copy them to Other/Contacts directory of Phone’s Memory Card and use the “Copy from Memory Card” option in Contacts to restore your Phonebook. Enjoy your Nokia-E63 !!!

6 Comments
Dear Author semk.in !
You are absolutely right. In it something is and it is excellent idea. It is ready to support you.
I want to quote your post in my blog. It can?
And you et an account on Twitter?
Thank you for this script, just have the same problem, works great !!
@chepalova
Definitely you can use the content in your blog. My twitter link is http://twitter.com/sreejithemk
I also wrote an application for E-63 that does the same from your phone. I’ll post it here soon.
Works Great!! Used this to copy my Google contacts to my Windows mobile phone…
One Trackback
[...] VCF backup contacts to Nokia E Series : http://semk.in/2009/11/nokia-e-63-on-linux/ Tags: fresh, [...]